DeepSeek本周发布了一系列大语言模型(LLMs),该公司称这些模型不仅复制了OpenAI的o1推理能力,还在一系列基准测试中对这家美国模型构建商的主导地位发起挑战。
DeepSeek(渊亭科技)由梁文峰于2023年创立,并由他的量化对冲基金高毅资产提供资金支持。尽管美国竭力阻止人工智能加速技术流入中国,渊亭科技如今已分享了许多极具竞争力的、公开可用的机器学习模型。
此外DeepSeek 称其做到这一切的成本只是竞争对手的一小部分。去年年底,该实验室正式发布了DeepSeek V3,这是一款混合专家模型的大语言模型,具备Meta的Llama 3.1、OpenAI的GPT – 4o以及Anthropic的Claude 3.5 Sonnet等模型的功能。现在,它又发布了R1,这是一款基于V3微调的推理模型。
西方的大公司每年在数百万块图形处理器(GPUs)上投入数百亿美元,而据说DeepSeek V3是使用2048块英伟达H800,在1.48万亿个词元上进行训练的,总计约278.8万个GPU小时,成本约为558万美元。
DeepSeek R1拥有6710亿个参数,推理过程中每个词元会激活370亿个参数,它主要通过强化学习来运用思维链(CoT)推理进行训练。
如果你对像R1和OpenAI的o1这类思维链模型不太熟悉,它们与传统大语言模型的区别在于,不会对问题直接给出一次性的答案。相反,这些模型首先会将问题拆解成一系列 “思维”,这样它们就有机会对输入内容进行思考,在给出最终答案之前,识别或纠正输出中任何有缺陷的推理或幻觉。因此,你应该能从它们那里得到更符合逻辑、清晰且准确的结果。
声称其R1模型在各种基准测试中与OpenAI的o1不相上下(点击放大)
假设DeepSeek 的基准测试结果可信,R1的性能与OpenAI的o1相当,甚至在MATH – 500测试中超越了它的表现。
这家初创公司还称,其参数相对较少、仅320亿的模型变体,是以阿里巴巴的通义千问2.5 320亿参数模型为基础,从更大模型提炼而来,在某些情况下能够匹敌甚至超越OpenAI的o1 mini。
这一切都源于一个在宽松的MIT许可下,可在Hugging Face上免费获取的模型。这意味着你可以自行下载并尝试。在这篇亲身体验文章中,我们将使用广受欢迎的Ollama模型运行器和Open WebUI来进行尝试。
测试R1
如前文所述,R1有多种版本。除了全尺寸的R1模型,还有一系列较小的提炼模型,参数规模从仅15亿到700亿不等。这些模型基于Meta的Llama 3.1 – 80亿或3.3 – 700亿参数模型,或者阿里巴巴的通义千问2.5 – 15亿、 – 70亿、 – 140亿和 – 320亿参数模型。为简单起见,我们将根据参数数量来指代不同的模型。
我们针对这些模型运行了各种提示,以观察它们的表现;这些任务和查询是出了名的会难倒大语言模型。由于内存限制,我们只能在本地测试提炼模型,并且320亿和700亿参数模型分别需要以8位和4位精度运行。其余提炼模型以16位浮点精度进行测试,而完整的R1模型则通过渊亭科技的网站访问。
(如果你不想在本地运行其模型,还有一个付费云API,价格似乎比竞争对手便宜很多,这让一些人担心它会戳破硅谷的人工智能泡沫。)
我们知道你在想什么——我们应该从大语言模型最难解决的问题之一开始:草莓问题,如果你不熟悉,问题是这样的:
“strawberry”这个单词里有几个“R”?
这看似是个简单的问题,但对于大语言模型来说,要答对却出奇地棘手,因为它们将单词拆分成称为词元的片段,而非单个字符。正因如此,模型在涉及计数的任务上往往很吃力,通常会坚称“strawberry”里只有两个“R”,而不是三个。
与o1类似,渊亭科技的R1似乎没有这个问题,第一次尝试就识别出了正确数量的“R”。该模型还能回答这个问题的变体,比如“‘Mississippi’里有几个‘S’?”以及“‘airborne’里有多少个元音字母?”
不幸的是,较小的提炼模型没那么可靠。700亿、320亿和140亿参数的模型都能正确回答这些问题,而较小的80亿、70亿和15亿参数模型只是偶尔能答对。正如你将在接下来的两项测试中看到的,随着我们继续测试R1,这将成为一种趋势。
数学能力如何呢?
正如我们之前探讨过的,大语言模型在基本算术,比如两个大数相乘的问题上也有困难。人们探索了各种方法来提高模型的数学表现,包括通过函数调用让模型使用Python计算器。
为了了解R1的表现,我们用一系列简单的数学和代数问题对它进行测试:
1. 2485×8919
2. 23929÷5783
3. 求解X:X×3÷67 = 27
我们要找的答案是:
1. 22163715
2. 4.13781774(保留八位小数)
3. 603
R1 – 6710亿参数模型能够毫无问题地解决第一个和第三个问题,分别得出22163715和X = 603。该模型基本答对了第二个问题,但在小数点后第三位截断了答案。相比之下,OpenAI的o1将答案四舍五入到了小数点后第四位。
与计数问题类似,提炼模型的表现依旧参差不齐。所有模型都能解出X的值,而80亿、70亿和15亿参数的变体都无法可靠地解决乘法和除法问题。
更大的140亿、320亿和700亿参数版本至少更可靠一些,但偶尔也会出错。
虽然在数学推理方面相比非思维链模型确实有所改进,但我们还不确定能否完全信任R1或其他任何模型的数学能力,尤其是给模型一个计算器得出答案的速度仍然更快。
在48GB的英伟达RTX 6000 Ada显卡上进行测试时,4位精度的R1 – 700亿参数模型花了一分多钟才解出X的值。
规划和空间推理能力如何呢?
除了计数和数学,我们还用几个规划和空间推理谜题来考验R1,AutoGen AI的研究人员此前表明这类谜题会让大语言模型相当头疼。
运输难题
提示:“一位农民想过河,并且要带上一只狼、一只山羊和一颗卷心菜。他有一艘船,船上有三个安全的独立隔间。如果狼和山羊单独在一岸,狼会吃掉山羊。如果山羊和卷心菜单独在一岸,山羊会吃掉卷心菜。农民怎样才能高效地把狼、山羊和卷心菜都运过河,且保证没有东西被吃掉?”
这比听起来容易。预期答案当然是农民把狼、山羊和卷心菜分别放在各自的隔间里,然后过河。然而,在我们的测试中,传统大语言模型会忽略这个事实。
R1 – 6710亿参数和 – 700亿参数模型能够正确回答这个谜题。与此同时,320亿、140亿和80亿参数的变体得出了错误结论,70亿和15亿参数版本未能完成请求,反而陷入了无尽的思维循环。
空间推理
提示:“艾伦、鲍勃、科林、戴夫和艾米丽站成一圈。艾伦在鲍勃的紧邻左侧。鲍勃在科林的紧邻左侧。科林在戴夫的紧邻左侧。戴夫在艾米丽的紧邻左侧。谁在艾伦的紧邻右侧?”
同样,这对人类来说很简单。预期答案是鲍勃。提出这个问题后,我们发现许多大语言模型已经能够猜出正确答案,但并不稳定。就渊亭科技的最新模型而言,除了80亿和15亿参数的提炼模型外,其他模型第一次尝试就能正确回答这个问题。
不幸的是,后续测试表明,即使是最大的模型也不能始终如一地确定鲍勃是正确答案。与非思维链大语言模型不同,我们可以从输出中略窥一二,看看它为什么得出这样的答案。
另一个有趣的发现是,虽然较小的模型生成词元的速度比较大的模型快,但它们需要更长时间才能得出正确结论。这表明,虽然思维链可以提高较小模型的推理能力,但它并不能替代参数数量的作用。
理清故事
提示:“我在顶层(三楼)出门,与街道平齐。这栋楼地上有几层?”
答案显然是一层。然而,许多大语言模型,包括GPT – 4o和o1,会坚称答案是三层或零层。同样,我们遇到了这样一种情况,R1第一次尝试就正确回答是一层。但在后续测试中,它也坚称有三层。
这里得出的结论似乎是,思维链推理肯定能提高模型解决复杂问题的能力,但它不一定是灵丹妙药,能突然将大语言模型从强化版自动补全工具转变为真正能够进行实际思考的人工智能。
思维链对性能的影响
正如我们在数学测试中提到的,虽然思维链可能会提高模型解决复杂问题的能力,但与类似规模的大语言模型相比,它也会花费长得多的时间,并消耗大量更多的资源。
那些帮助模型减少错误、避免产生幻觉的 “思维”,可能需要一段时间才能生成。这些思维并没有什么特别神奇之处;它并非有意识的思考。它是中间输出的额外阶段,有助于引导模型得出理想中更高质量的最终答案。
通常情况下,大语言模型的性能是在给定精度下,内存带宽除以参数数量的函数。理论上,如果你有3.35TB每秒的内存带宽,你会期望一个1750亿参数的模型在16位精度下每秒能生成约10个单词。这个速度足够在30秒内输出约250个单词。
相比之下,一个基于思维链的模型可能需要生成650个单词 —— 400个单词的 “思维” 输出,以及另外250个单词的最终答案。除非你有2.6倍以上的内存带宽,或者将模型规模缩小相同的倍数,否则生成回复现在将需要一分钟以上。
这种情况也并不稳定。对于某些问题,模型可能需要 “思考” 几分钟才能对答案有信心,而对于其他问题,可能只需要几秒钟。
这就是芯片设计师一直在努力在各代加速器和处理器之间提高内存带宽以及容量的原因之一;与此同时,其他一些人则转向推测解码来提高生成速度。硬件生成词元的速度越快,基于思维链的推理成本就越低。