一、结论写在前面
论文标题:Concise Thoughts: Impact of Output Length on LLM Reasoning and Cost
论文链接:https://arxiv.org/pdf/2407.19825
当今的大型语言模型(LLMs)能够解决具有挑战性的问答任务,而诸如思维链(CoT)等提示工程技术因其增强输出解释和正确性而受到关注。然而,模型生成附带详细推理细节的答案需要大量时间。
为了解决这一问题,本文分析了输出长度对LLM推理管道的影响,并提出了新的指标来评估其正确简洁性。同时,通过一种精细的提示工程策略——约束CoT(constrained-CoT,CCoT),探讨了控制输出长度的影响,该策略鼓励模型限制输出长度。
在预训练LLMs上的实验证明了所提出指标的益处以及CCoT在不同模型中的有效性。从所进行实验的结果中,首先可以观察到并非所有模型都能控制其输出的长度(RQ2)。具体而言,小型模型如Falcon-7b、LLama2-7b和Vicuna-13b在遵守CCoT提示中的长度约束方面存在更多困难,而大型模型如Falcon-40b和Llama2-70b则展现出更强的控制能力。这种小型大型语言模型(LLMs)的困难可能受到多种因素的影响,例如训练过程中使用的数据集和模型参数的数量。理解这些问题并评估将所提议的指标整合到微调过程中的可能性,需要更深入的研究,这是论文未来工作的一部分。
另一方面,对于大型模型,例如Falcon-40b和LLaMA2-70b,CCoT能够提高LLMs相对于普通提示和CoT的准确性和效率(RQ1)。某些模型(LLaMA2-70b和Vicuna-13b)在准确性上的提升,虽然超出了本研究的范围,但暗示了未来研究分析简洁性对潜在幻觉现象或错误推理影响的有趣方向。此外,另一个有趣的后续方向可能是将提出的指标与使用评判模型评估LLMs正确简洁性的最新评估技术相结合。
总之,本研究强调了需要更多关注LLMs的简洁性,提出了能够评估输出与其长度正确性的新型性能指标。此外,提出的CCoT提示方法提供了一种简单但有趣的策略来解决简洁性问题,这可能开启新的研究方向,使LLMs更加可预测和高效:
•提出了三种新颖的指标,用于评估LLM输出正确性的同时考虑输出推理的简洁性,强调简洁和效率的重要性。
•本文介绍了一种新颖的提示工程策略——约束链式思维(Constrained-Chain-of-Thought, CCoT),该策略鼓励大型语言模型(LLMs)限制其推理长度,从而提高其时间可预测性。
•报告了针对预训练LLMs的若干实验,展示了CCoT在提升大型模型准确性和响应时间方面的有效性,同时强调了不同模型规模下的局限性。
二、论文的简单介绍
2.1 论文的背景
思维链(CoT)提示通过鼓励LLM通过中间推理步骤阐述其答案,增强了输出的解释和正确性。但CoT提示法可能导致输出更长,从而增加了模型生成响应所需的时间。这是由于自回归变换器的本质特性,它们逐字解码文本,每次运行解码器模块的新推理过程。这意味着生成响应所需的时间很大程度上受所提供推理长度的影响,而推理长度又可根据提示的不同而变化。在大型语言模型(LLM)需要通过交互式对话与用户交流时,这种长且可变的响应延迟是不理想的。这一问题凸显了考虑以下两点的必要性:i) 评估输出简洁性的指标;ii) 避免过度冗长推理链的解决方案。
论文的第一部分展示了一些动机实验,以表明输出长度与LLM推理时间之间的关系。随后,提出了三个新颖的指标,以考量生成答案的简洁性和正确性。所提出指标的目标是通过考虑影响模型推理时间和其时间可预测性的输出长度相关方面,来重新加权给定模型的准确性。
为了应对链式思考(CoT)技术导致的输出长度显著增加的问题,论文的第二部分探讨了如何通过特定的提示请求来控制CoT推理的长度。具体而言,论文引入了一种名为约束CoT(constrained-CoT,CCoT)的精细化提示工程策略,旨在促使大型语言模型(LLM)限制输出长度并控制推理过程。其核心思想是明确要求模型提供一个长度小于给定界限的输出,从而推动LLM生成简洁的推理。在此过程中,论文必须确保模型输出的准确性和时效性。
2.2. 动机考虑
LLM的输出生成时间受多种因素影响,包括模型架构、预处理和后处理步骤、答案解码过程以及所提出的问题,同时还要考虑使用提示工程方法。虽然计算成本的影响已被充分理解,但其他方面对整体生成时间的影响尚不明确,需要进一步研究。更正式地,LLM可以表示为一个函数 f,它接受一个包含 N ( x ) 个词元的提示 x 作为输入,并生成一个包含 N ( y^ ) 个词元的输出 y^=f ( x ),其中 N 是一个简单的词元计数操作符。输入 x 可以看作由原始用户输入 x 和根据所用技术生成的提示工程文本 x_p 组成。例如,在零样本CoT设置中,提示可以计算为 x=concat ( x_us, x_p ),其中 x_p 是明确要求在答案中提供推理步骤的文本,而 concat ( a, b ) 是将两个向量 a 和 b 合并为一个的连接操作符。
图 1 展示了三个LLM在不同数据集(CNN/dailynews、squad组合、FELM和AG)的几个样本中,响应时间与输出长度之间的关系,这些数据集包括了总结、问答、先上下文后问答以及主题建模等下游任务。
在Transformer使用的编码器-解码器架构中,设 f_e ( x ) 和 f_d ( x ) 分别表示与编码器和解码器相关的函数。那么,输出 y^ 是一个词元列表 [ a^( 1 ), …, a^( N ( y^ ) ) ],其中每个 a^( i ) 是基于先前生成的词元和编码器的嵌入表示 f_e ( x ) 计算得出的。即:
从公式 (1) 可以看出,答案中输出词元集合越大,模型生成答案所需的时间就越长,这是因为解码器被调用的次数增加了。
为了突显这种依赖关系,论文对四个不同规模的模型进行了初步测试,具体是Falcon 7b/40b和Llama2-7b/70b,测试了不同的下游任务,如摘要生成、问答、上下文问答和主题建模,使用了来自CNN/dailynews、squad组合、FELM)和AG数据集的少量样本。测试结果如图1所示。如图所示,对于每个大型语言模型,总响应时间(生成时间)与各种任务中答案的长度密切相关,随着输出长度的增加而显著增加。
图2 Falcon-40b 效率中 CoT 影响的分析:(a) 响应时间与输出长度关系,无 CoT(蓝点)与有 CoT(红点),跨越 GSM8K 测试集的 100 个问题。(b) 使用 GSM8K 测试集的 50 个随机样本,CoT 与无 CoT 输出长度之间的输出词变化
在不同下游任务上,如摘要、QA、上下文然后 QA 和主题建模,使用 CNN/每日新闻、squad 组合、FELM和 AG等数据集的几个样本,对 7b/40b 和 Llama2-7b/70b进行了测试。测试结果如图 1 所示。如图所示,对于每个 LLM,总响应时间(生成时间)与答案长度在各种任务中密切相关,随着输出长度的增加显著增加。
还在 Falcon-40B 上进行了另一项测试,以评估 CoT 方法在回答算术问题中的影响,使用 GSM8K 数据集的 100 个随机问题子集。测试结果如图 2a 所示,其中红色和蓝色点分别表示使用和不使用 CoT 给出的答案。
散点图显示,CoT显著增加了输出长度和生成时间。这表明,尽管CoT提高了响应的正确性,但应更多关注其引入的时间成本。为了更好地理解CoT对输出长度的影响,图2b报告了Falcon-40b在一组50个GSM8K问题上的输出长度(以生成的单词数量表示),无CoT(蓝色条)和有CoT(粉色条)。注意,紫色区域表示两个条形重叠的区域。
2.3. 简洁正确性的度量
受前述考虑的启发,本节提出了三个新颖的度量标准,用于评估LLM提供正确且简洁响应的能力。其思想是将简洁性方面重新定义经典的准确性度量标准,以整合到LLM输出正确性中。形式上,如果通过后处理函数Gamma提取的结论与给定的真实值y匹配,则认为答案y^是正确的。因此,LLM的准确性可以计算为
其中N是测试样本的数量,I ( u, v )是指示函数,如果u=v则返回1,否则返回0。请注意,Gamma表示一个用户定义的函数,可以根据正则表达式(例如,通过从句子中提取特定模式)或使用伪判断方法(例如,使用次级大型模型作为判断)来实现。
从公式 (2) 出发,通过将指示函数乘以一个惩罚项 p ( y_i ) ∈[ 0, 1 ],可以综合考虑输出 y_i 的简洁性和正确性,该惩罚项对于长输出会降低其值:
以下通过设置适当的惩罚函数来定义三种特定的度量标准。
硬 k简洁准确率(Hard-k Concise Accuracy):HCA ( k )。它衡量不超过用户指定长度 k 的正确输出所占的比例:
该度量标准不考虑超过指定最大长度的响应,从而促进简洁性。论文认为在严格遵守长度约束至关重要的场景中,例如实时系统或计算资源有限的环境中,它可能特别有用。
软性 k 简洁准确率(Soft-k Concise Accuracy):SCA ( k, α)。它通过惩罚超过最大长度 k 的正确答案并引入一个随衰减因子α 呈指数下降的项来推广先前的度量标准:
在该公式中,用户定义的衰减 α≥0 可以视为一种容差,它控制长度对总体准确性的影响程度;α 值越高,对超过指定长度 k 的答案的容忍度就越高。注意,当α=0 时,SCA ( k, 0 ) 简化为HCA ( k )。
一致简洁准确率(Consistent Concise Accuracy):CCA (k, α, β)。它通过考虑所有获得输出的长度变化进一步推广了先前的度量标准:
在公式 (6) 中,σ表示输出长度分布的标准差,而β是一个控制对长度变化容忍度的参数;β值越高,容忍度越高。注意,给定一个容忍度 β,当σ ≤ β时,p_var (σ, β)=1,而当σ> β 时,它会呈指数下降。
CCA 度量标准旨在促进响应长度的一致性。较低的标准差 σ表示模型产生的响应长度均匀。相反,较高的 σ值表示模型响应变化大,使得预测其响应时间变得困难。
2.4. CCoT 提示
输出长度与推理时间之间的关系需要更深入的认识。为此,这里重点关注改进思维链(CoT)的使用,旨在保留该技术的优点,同时更加注意答案的长度,以在效率和准确性之间取得更好的平衡。
为此,论文引入了受限思维链(CCoT)提示,该提示包含一个明确句子,限制生成输出的最大词汇数,鼓励模型压缩推理过程并在较短时间内产生更简洁的答案。如第3节所述,CoT提示可计算为 x=concat(x_us, x_p),其中 x_p 是生成答案中要求提供推理步骤的明确请求(例如,“让论文一步步思考”)。从技术上讲,为了鼓励大型语言模型(LLMs)返回更简洁的推理,CCoT提示被形式化为 x=concat(x_us, x_p, x_l),其中 x_l 表示指定输出长度约束的句子(例如,“并将答案长度限制在30词以内”)。
图3展示了一个示例,说明了CoT提示与CCoT提示之间的差异。请注意,使用CoT提示生成的特定问题的答案包含67个单词,而使用CCoT提示(指定45个单词的约束)生成的相同问题的答案包含34个单词,并且仍然是正确的。
2.5. 实验
这里展示了一系列实验,旨在评估所提出的CCoT方法在经典指标下的有效性,并说明所提出指标在评估简洁正确性方面的优势。具体而言,在接下来的实验中探讨了以下研究问题:
•(RQ1) CCoT方法在效率和准确性方面是否有益?
•(RQ2) 与经典CoT相比,哪些模型能从CCoT中获益?
•(RQ3) 大型语言模型(LLM)根据明确的提示请求控制输出长度的能力如何?
•(RQ4) 所提出的指标是否有助于解决效率和准确性方面的问题?CCoT的影响是否体现在所提出的指标中?
2.5.1. 实验设置
所有实验均在配备8块NVIDIA A100 GPU的文本生成推理(TGI)平台上进行。具体而言,论文评估了来自Hugging Face的五个公开可用的预训练大型语言模型(LLM),例如Vicuna-13b-v1.5(Zheng et al., 2024),指令调优模型Falcon-40b-instruct、Falcon-7b-instruct(Almazrouei et al., 2023),以及利用私有数据训练和增强的两个模型,即Llama2-7b-chat-hf和Llama2-70b-chat-hf(Touvron et al., 2023)。
所有实验均在GSM8k测试集上进行,该测试集包含约1.3k个数学问题,占总数8,000个问题的约16%。此数据集常用于评估模型处理数学推理及综合计算步骤的能力。为比较CCoT的效果,所选大型语言模型(LLMs)在有无CoT(基础模式)的情况下均进行了评估。
2.5.2. CCoT的成本与性能评估
本实验旨在评估CCoT对计算时间和准确性的影响,进而为不同LLM架构的适用性提供见解。
CCoT的影响(RQ1)。每个选定的LLM在GSM8K测试数据集上通过普通提示(基础)、CoT和CCoT(不同长度约束,即15、30、45、60、100)进行了评估。所得结果如图4所示。具体而言,图4a展示了不同提示设置对生成时间的影响,而图4b展示了相应的准确性。
图4 展示了在GSM8K测试数据集上,五个大型语言模型(Llama2-7b、Llama2-70b、Falcon-7b、Falcon-40b和Vicuna-13b)的生成时间(a)和准确性(b)。每个模型都通过不同长度约束的普通提示(基础)、CoT和CCoT进行评估。
如图4a所示,相对于CoT,CCoT提示能够减少所有大型模型和大多数中型模型的生成时间,并且在大多数情况下也相对于普通提示(基础)。例如,对于使用经典CoT的Llama2-70b模型,平均生成时间为30.09秒,而使用长度为15的CCoT时,生成时间几乎减半,达到长度约束为100时的最大值23.86秒。
虽然在某些应用中减少生成时间很重要,但在减少输出长度的同时保持模型答案的正确性也至关重要。为了评估这一方面,图4b报告了针对不同类型提示的相同LLMs的准确性。请注意,在Llama2-70b和Vicuna-13b中,CCoT能够提高准确性,甚至相对于CoT。例如,Llama2-70b的准确性从使用CCoT-30的37.07%到使用CCoT-100的41.77%不等,而相比之下,使用CoT的准确性为36.01%。对于其他LLMs,如Falcon-40b和Llama2-7b,使用CCoT达到的准确性随着长度约束的增加而提高,得分介于基础和经典CoT得分之间。最后,需要注意的是,Falcon-7b作为最小的模型,无法利用CCoT提示来减少生成时间,并且在较大的长度约束下,其准确性也比CoT和基础低。
关于CCoT提示的有效性(RQ2)。图4中展示的CCoT提示对输出长度和准确性的不同影响,可归因于多种因素,如训练数据、模型训练方法、模型规模以及训练过程中采用的技术。例如,Llama2-70b是一个经过人类反馈微调的自回归大型语言模型,训练数据集结合了通用和开源数据。这些技术措施有助于CCoT在控制输出长度的同时提高模型准确性。相比之下,Falcon-40b模型规模小于Llama2-70b,并采用了不同的训练数据集(专门的RefinedWeb数据(Penedo et al., 2023))。尽管CCoT并未相对于CoT提升模型准确性,但它仍优于基础的简单提示,通过减少生成时间与CoT相比提供了折中方案。Vicuna-13b作为Llama2的微调版本,规模小于之前的Llama2-70b,在不同提示下也提供了有竞争力的结果。
相反,小规模LLMs,如Falcon-7b和Llama2,无法妥善处理CCoT中的约束提示条件,导致生成时间增加(如Falcon-7b在CCoT中长度值较大所示)或在Llama2-7b中出现短CCoT值下的错误答案。这表明模型规模和训练策略严重影响了CCoT的有效性。
考虑到上述观察结果,论文着重后续在大模型上的实验表明,如 Llama2-70b 和 Falcon-40b 等模型能够从 CCoT 中受益。
图 5. 不同模型和提示策略在 GSM8K 测试集上输出的长度分布(5th 至 95th 百分位数)。
2.5.3. 控制输出长度的能力(RQ3)
前述实验考察了 CCoT 策略如何影响平均准确度和生成时间。然而,尽管存在讨论的益处,理解 CCoT 提示如何有效限制每个处理样本的输出长度也至关重要。这对于更好地调整 CCoT 提示中的长度参数或识别所提出的提示策略未能压缩输出的条件具有实用价值。
为了评估大型语言模型(LLM)在特定提示方法下生成简洁回答的能力,论文分析了在不同 CCoT 长度约束下每个样本的输出长度。图 5 展示了三个模型(Vicuna-13b、Falcon-40b 和 Llama2-70b)在采用 GSM8K 测试集所有输入的情况下,使用不同提示策略(基础、CoT 和 CCoT)提供的回答长度统计数据。如前一实验所述,CCoT 提示针对不同的长度约束(15、30、45、60、100)进行了测试。每个箱形图表示所有测试样本在 5th 至 95th 百分位数之间的输出长度,蓝色线代表提供的 CCoT 长度约束,红色线表示中位数,而绿色点表示平均值。理想情况下,一个模型若能遵守每个测试样本给定的长度约束,其整个分布应位于蓝色线下方。
从图5可以清楚地看出,使用CoT而不明确要求长度会产生冗长的答案,这会显著影响生成时间。CCoT提示中施加的长度约束对输出长度有显著影响,尽管在实践中,LLM并不总能遵守给定的限制,尤其是对于较小的值,如15、30或40,这对LLM来说更具挑战性。
总结来说,鉴于CCoT提示的性质,在遵守请求长度时考虑一定的容差范围是合理的。为此,在下文中,论文通过第+节中提出的指标来评估所考虑的模型,这些指标通过考虑简洁性来扩展准确性。
2.5.4. 正确简洁性的评估(RQ)
HCA评估。Hard-k简洁准确性仅评估长度小于指定值k的正确答案的准确性。图6报告了在Llama2-70b(图6a)和Falcon-40b(图6b)上使用不同提示方法和不同k值时达到的这一性能指标值。请注意,k=\infty等同于基础准确性。
正如预期,HCA值始终小于或等于经典准确度(k=\infty)所对应的值,但在应用CCoT提示的情况下,这种降低并不显著。具体而言,对于Llama2-70b,无论k取何值,CCoT的使用相较于基础提示和CoT提示均有益,尤其是在k等于100、80和60时,提升更为显著。这表明,若长度限制不过于严格,模型生成正确答案的能力在CCoT下更高。相反,对于较低的k值,CoT提示会导致性能大幅下降,主要是因为它们促使模型在输出中产生推理部分,而未关注其长度。
类似的情况也适用于Falcon-40b,其中CCoT的应用在CoT和基础提示之间实现了良好的平衡。值得注意的是,即使在较小的k值(例如60和40)下,CCoT下的HCA值也高于CoT下的值,这表明CCoT提示对这一模型同样有效。
图 6。(a) 和 (b) 中的条形图分别展示了 Llama2-70b 和 Falcon-40b 在五个 k 值(Oo, 100, 80, 60, 和 40)下获得的 H C ! A ( k ) 分数,以及 x 轴上指示的提示方法。
SCA 评估。论文还使用软简洁准确度 ( S C A ) 评估了 Llama2-70b 模型,针对不同的 k 和 α 值,其中 α 表示接受超过期望限制 k 的答案的容忍度。该指标是 H C A 的泛化,更灵活地考虑了虽大但仍接近期望长度 k 的正确答案。
图 7 报告了 Llama2-70b 和 Falcon-40b 在 GSM8K 测试集问题上的 SCA 值,针对不同的 k 值和两个不同的容忍度值 ( α=1 和 α=1 0 )。对于这两个模型,在 CCoT 设置下的 SCA 值通常与高 k 值(如 8 0 或 100)的 HCA 值相当。这是因为,如图 5 所示,在这些长度下,CCoT 提示能够有效地返回低于期望限制的输出,使得容忍度变得不那么必要。
反之,对于较小的k值,例如k = 40,SCA开始超过HCA,表明某些正确答案的长度大于k。对于这些k值,使用更大的α会导致CCoT提示相较于Base和CoT有更显著的改进。这意味着,尽管许多正确输出长度超过k,在CCoT下,模型仍被鼓励将其长度约束在接近k,从而获得更高的分数。这种效应在Llama2-70b上尤为明显,它比Falcon-40b更能控制长度并生成正确输出。
CCA评估。一致简洁准确度(Consistent Concise Accuracy)衡量模型生成正确答案的能力,这些答案的长度变化不大,因此与指定约束一致。CCA需要第三个参数β(除了k和α之外),表示对输出长度变异性的容忍度。具体来说,如果σ是长度分布的标准差,论文有:若σ ≤ β,则CCA(k, α, β) = SCA(k, α);否则,当σ > β时,CCA会随着σ的增加而呈指数级下降。
图 8 绘制了在 Llama2-70b 和 Falcon-40b 上针对 α=10, β=20 以及不同 k 值的各种提示方法获得的 CCA 分数。根据这一指标,CCoT 相较于 CoT 和基础提示,在 Llama2-70b 和 Falcon-40b 上,以及所有 k 值下,均实现了显著提升。然而,对于较高的 CCoT 长度约束(例如 100),CCA 分数往往下降,这在其他两个指标中并未出现。这可以解释为,增加长度约束使得模型有更多自由生成具有更高变异性的输出。
值得注意的是,图 8 所示的结果与图 5 中报告的输出长度分布一致,其中基础和 CoT 提示在 Falcon-40b 和 Llama2-70b 上显示出更大的输出长度方差。总体而言,这一实验证实,当输出长度变化成为关注点时,CCA 可以是一个有用的性能指标。
2.5.5. CCoT 的图解
为了更好地说明 CCoT 的益处,图 9 展示了 Llama2-70b 在应用基础、CoT 和 CCoT 提示(长度约束分别为 15, 45 和 100)时对来自 GSM8K 的两个不同问题的回答。在这两个问题中,论文观察到在基础情况下,由于所用模型的特性(特别是 Llama2-70B-chat),模型自动提出了一个推理过程。然而,在 CoT 下,推理过程被扩展,失去了对其长度的控制。
图7. 柱状图展示了在α=1和α=10的情况下,Llama2-70b(上部)和Falcon-40b(下部)在基础(base)、思维链(CoT)和约束思维链(CCoTs)之间的SCA得分比较。
特别是,在第一个例子(图9a)中,尽管在不同设置下使用了CCoT,响应仍然保持正确,同时还提供了更好的输出长度控制。在第二个例子(图9b)中,使用基础和CoT提示的模型响应提供了正确的推理过程,但最终计算结果不正确。相比之下,CCoT技术使论文能够在提供正确响应的同时控制输出长度。
图8. Llama2-70b (a) 和 Falcon-40b (b) 在 α = 10.0, β = 20.0 以及不同 k 值和提示方法下的CCA得分。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。