大模型微调(Tuning)实践-基础篇


大模型微调(Tuning)

大模型微调(Tuning)

定义:在预训练模型基础上,调整LLM的参数以适应特定领域特定任务的过程。微调量取决于任务复杂度和数据集大小。
本质:迁移学习。利用从源数据集学习到的新知识迁移到目标数据集上。对于预训练模型而言,微调就是将预训练模型迁移到新目标数据集上。
价值:低成本效益和特定领域高适应性+防止过拟合,提升数据训练效果.

  1. 低成本效益和特定领域高适应性:对比利用Prompt engineering(提示词工程)来引导模型的输出行为,微调SFT可以更高效地优化模型的输出表现,可以更直接执行任务,减少对复杂提示词引导的依赖。更重要的是,通过微调技术,针对特定领域可以在小模型上实现接近大模型的性能效果,降低推理的计算成本和延迟过程,更好的适应特定领域的专业术语和内容结构,提高模型在这些领域的使用效果,提升特定领域任务的表现。
  2. 防止过拟合,提升数据训练效果:预训练的过程可能会导致模型过拟合无监督学习的任务,导致在特定任务上效果不好,特别是数据稀缺而且缺乏标签数据的特定领域。微调可以使模型聚焦于这些特定领域的任务数据,在减少过拟合风险的同时,针对有限的特定数据做针对性的高效训练,使得在有限数据的情况下也能获得好的模型性能。

训练数据下的微调分类

微调分类:增量预训练+SFT监督微调+RLHF人类反馈下的强化学习
SFT监督微调方法分类:指令微调(IFT)+思维链(COT)

  1. 指令微调(IFT):
    来源:Instruction Tuning for Large Language Models: A Survey
    定义:使用监督学习的方法,在<人类指令、已知输入、期望输出>构成的数据集上,训练LLM的过程。
    场景:对话、信息提取、代码生成等。
    难度:适中
    方法:数据集准备+微调
    数据集准备:按照<instruction人类指令、input已知输入、output期望输出>模板人为构造数据集,或者借助LLM来扩展基于少量手写样例的数据集,通过给LLM指令,通过多样化的输出形成指令数据集。
    微调:基于准备好的数据集,按照监督学习的方式训练模型,根据给定指令和输入到LLM中,根据预测输出和期望输出的loss计算,反向优化训练LLM模型。

  2. 思维链(COT):
    来源:Towards Better Chain-of-Thought Prompting Strategies: A Survey
    定义:可以视为指令微调的一种,更强调在指令中明确的要求回答要给出“推理过程”,并在期望输出内容中有推理过程。
    场景:推理类任务
    难度:适中
    方法:COT数据集准备+微调
    数据集准备:按照<Question问题描述+按照循序渐进的方式逐步思考并回答问题、Answer推理过程(逐步分解问题)+最后答案>模板人为构造数据集。
    微调:和指令微调(IFT)的微调方法类似,注意其中在逻辑推理内容。

训练方法下的微调分类

训练方法下的微调分类:全微调+部分微调(也称为参数高效微调)

  1. 全微调(Full Fine-Tuning, FFT):
    定义:对预训练模型全体进行微调,模型的所有参数和模型层全部被更新和优化,已达成目标任务。
    应用场景:适用于目标任务和预训练模型之间存在差异的情况,或者需要模型具体较高灵活度和自适应的情况。
    缺点:计算资源和时间要求较高,训练成本高;灾难性遗忘,即只微调好特定领域的表现,导致其他表现好的领域能力反而变差。

  2. 部分微调(即参数高效微调,Parameter-Efficient Fine-Tuning, PEFT):
    定义:在保存预训练模型底层参数不变的情况下,只更新模型的少数模型层和参数,以实现在保留预训练模型通用知识的情况下,适应特定目标任务的目的。
    缺点:相比全微调计算资源和时间消耗较少,但是性能会比全微调有所减低,无法达到全微调在特定领域上的性能水平,好处就是训练成本低节省存储成本。
    技术方法:LORA/P-Tuning/Prompt Tuning/Prefix-Tuning

新兴微调技术

强化微调(Reinforcement Fine-Tuning, RFT)
定义:利用奖励驱动的训练循环来完善LLM的知识的计算

当前主流的参数高效微调方法

微调综述

Scaling Down to Scale Up: A Guide to Parameter-Efficient Fine-Tuning
综述论文,系统地概述参数高效微调方法,涵盖了 2019 年初至 2024 年中期发表的 50 多篇论文,并评估这些参数高效微调方法的表现和性能。

In-Context Learning(上下文学习)

介绍:轻量级无参数更新方法。在不修改模型和其权重的条件下,利用在输入的Prompt中添加和任务相关的上下文背景信息和样例,使模型更好地生成预期结果。
特点:不需要更新模型参数,成本低,用示例做驱动灵活度高。通过和Prompt Engineering的精细化优化结合,可以获得更好的输出效果,达成10%-15%的性能提升,其作为监督微调的补充,利用Prompt精细化设计,在不依赖格外训练的情况下,实现在模型在特定任务上的更好工具使用能力。
优点:可以在不修改模型和其参数的情况下,用于快速尝试和验证;在有限带标签数据用于监督微调的情况下,提升模型在特定任务上的表现。
缺点:由于没有修改模型权重参数,其在特定任务上的表现不然全微调和参数高效微调。
基本构成要素:Role(角色,必选)+Instruction(指令,必选)+Backgroud Information(背景信息,可选) + Example(示例,可选) + Specific Requirement(具体要求,可选) + Text Input(输入文本, 必选) + 工具列表(可选)

  1. Role(角色,必选):明确LLM在系统中的角色身份,聚集核心职责。
  2. Instruction(指令,必选):准确清晰描述用户意图和任务要求,并指定输出格式的要求。
  3. Backgroud Information(背景信息,可选):提供帮助模型理解用户意图的上下文背景信息,包括历史信息、系统设置和用户偏好等内容。
  4. Example(示例,可选):在token数量限制下,few-shot少量高质量、覆盖绝大多数情况和潜在复杂场景下的工具提示调用示例,内容应该包括完整输入、推理过程思维链(CoT)、工具调用结果呈现等。
  5. Specific Requirement(具体要求,可选):确定模型对任务说明的详细要求,包括对输出格式的具体要求,帮助模型理解指令要求。
  6. Text Input(输入文本, 必选):模型处理的实际问题,一般是用户的直接文本输入。
  7. 工具列表(可选):可以使用OpenAI格式规范,清晰明确提供模型可调用的工具内容信息,工具应包括其名称、参数和功能说明等。

相关论文
[1] Agentic Context Engineering: Evolving Contexts for Self-Improving Language Models
[2] ReasoningBank: Scaling Agent Self-Evolving with Reasoning Memory

Prefix Tuning

来源Prefix-Tuning: Optimizing Continuous Prompts for Generation
方法:和Prompt Tuning和P-Tuning相比,Prefix Tuning将Prompt视为可学习的prefix(前缀),在输入数据增加prefix(前缀)做微调,即在输入token前构造和任务相关的virtual tokens作为prefix, 训练时值更新prefix部分的参数,每个下游任务都单独训练一套prefix token。
作用:prefix(前缀)其实就是引导模型提取输入中的特定信息,进而更好地生成结果。针对不同下游任务训练的prefix(前缀)可保存起来,当用户在切换不同下游任务时,可以通过加载不同prefix(前缀)参数,实现模型功能快速切换。
缺点:前缀token会占用序列长度,造成一定的额外开销,而且效果存在上限,模型表现不一定会随着prefix(前缀)延长而提高,有用模型输入token有限,增加prefix(前缀)后反而有可能降低了原来prompt的表现;prefix Tuning的线性插值比较复杂。

Prompt Tuning

来源The Power of Scale for Parameter-Efficient Prompt Tuning
方法:最简单的参数高效性微调方法。固定LLM全部参数,侧重于制作可指导预训练模型的输入提示和模型,在训练数据前加入一小节Prompt,只训练Prompt的词嵌入层(Embedding模块),仅更新部分embedding参数来实现低成本微调大模型。其中Prompt可分为soft Prompt(Prompt Embedding采用随机初始化方式)和hard Prompt(Prompt Embedding采用人力实践准备做词嵌入初始化,编写Hard Prompt的过程又称Prompt Engineering)。
特点:任务不通用和规模不通用;和Prefix Tuning相比,参与训练的参数量和更新参数量更小,更节省显存资源.
相关论文
[1] Prompt Tuning for Generative Multimodal Pretrained Models
[2] PPT: Pre-trained Prompt Tuning for Few-shot Learning

P-tuning

来源GPT Understands, Too
方法:在Prompt Tuning基础上,对Prompt部分进一步编码计算,将Prompt转换为可学习的Embedding层,并利用MLP(多层感知机,multilayer perceptron)和LSTM(长短期记忆网络,Long short-term memory)方式对Prompt Embedding做处理,其中Prompt只能是soft Prompt形式。
特点:通过引入Prompt encoder来建模virtual tokens的相互依赖会收敛更快,效果更好。将目标任务的离散文本映射为可连续的优化向量,解决离散文本难定向优化的问题。少量高质量语料训练新增加的参数,其训练消耗小,训练效率更高。冻结原来的参数,利用前缀Prefix来适配不同任务,规避了模型遗忘的问题,同时由于可以在前缀Prefix中训练多个简单任务,其适配性更好,减少部署所需要的资源。

P-tuning V2

来源P-Tuning v2: Prompt Tuning Can Be Comparable to Fine-tuning Universally Across Scales and Tasks
方法:在transformer的每一层都加入Prompt token作为输入,引入多任务学习,针对不同任务采用不同的提示长度。
目标:让Prompt Tuning方法能在不同规模的预训练模型、不同目标任务结果上实现和Fine-Tuning一样的结果。
特点:解决Prompt Tuning无法再小模型上有效提升的问题,改进对复杂硬标记任务的效果。Prompt长度是P-tuning V2最关键参数,不同类型难度的自然语言理解任务可能会因为不同的长度Prompt配置实现不同的效果。根据论文中的实验反馈,简单的分类任务需要较短的Prompt(少于10 Token),而复杂困难的任务(如序列标注等),倾向于使用更长的Prompt(超过100)。

Adapter Tuning

方法:在transformer架构中multi-head self-attention(多头注意力机制)和fully conneted layers(全连接层)后添加Adapter层进行微调。Adapter层由fully conneted layers(全连接层,将高维输入映射为低维表示) + Nonlinear activation(非线性激活函数) + fully conneted layers(全连接层,将低维输入映射回高维空间)三层构成,降低训练使更新的参数量。微调过程中,模型其他参数冻结,只更新Adapter层的参数。
缺点: 添加Adapter层后,导致模型变深,导致训练和推理速度变慢

LoRA(Low-Rank Adaptation)

来源LoRA: Low-Rank Adaptation of Large Language Models
作者: 2021年微软提出的轻量化微调算法
方法:对预训练模型而言,适用目标任务的过程,就是变动模型低维参数的过程,通过低秩分解的方法来模拟参数的改变量,用极小的参数量来实现LLM的间接训练。具体来说,在训练时,对输入分别和原始权重的两个低秩矩阵进行计算,得到最终结果,训练完成后将两个低秩矩阵和原始模型中的权重进行合并,合并后的模型和原始模型无区别,从而避免推理期间Prompt方法带来的额外计算量问题。
效果:根据论文,添加LoRA结构的transformer模型,在仅更新少量参数的情况下,就可以实现微调精度近似全参微调的效果。
数学公式如下
$$
h = Wx + \Delta W \approx Wx + BAx = Wx + \frac{\alpha}{r}BAx
$$
$x$表示输入,$h$表示模型输出,$W$表示pretrained weights权重矩阵,$\Delta W$表示增量权重矩阵,都是d维方阵,$A$是$rd$维矩阵,$B$是$dr$维矩阵,r为$\Delta W$的秩。$\alpha$表示缩放因子,作为超参数表示LoRA从特定任务学习中获得的特征缩放沉淀。可以先随机设置$r$和$\Delta = r$,保存$\Delta$不变的条件下,利用调整$r$来实现参数微调的效果。
数学原理:线性代数中的奇异值分解(SVD),奇异值分解(SVD)分为紧凑和截断两种形式,可以视为对矩阵数据的无损和有损压缩,借助奇异值分解(SVD)实现对矩阵数据在Frobenius norm(F-范数)下的近似,从而利用低秩低维矩阵来表达原矩阵。
LoRA适配位置选择:理论上对于具有低秩性质同时参数密集的模型层都可以利用LoRA来处理,添加LoRA适配模块,典型如多头注意力层和FFN层。需要更加不同的显存硬件资源,设置不同的参数训练方案。
特点:可以切换到不同任务上,设计简单效果好,同时可训练参数的层次更为多样化。
优点:参数规模降低,权重维度下降,训练快,减少了模型调参对硬件显存的要求。适配度高,更灵活,可以针对不同任务训练不同的LoRA,在最大化共享预训练权重的基础上,保存不同任务下的新增权重,在使用少量内存的情况下,实现对不同任务的灵活适配。在部署过程中可将训练矩阵和冻结权重合并处理,尽量减少模型遗忘的问题。

微调数据准备

微调数据要求:高质量、真实性、针对性、多样性和广覆盖、数量级

  1. 高质量:高质量的Prompt以及高质量reponse可以很好的让模型学会遵守指令。garbage in garbage out。对复杂逻辑和模糊意图的BadCase,可以补充思维链CoT的数据,通过引导模型做推理和决策,帮助模型学习怎样分解处理问题。
  2. 真实性:优先使用真实用户交互产生的BadCase标准和补充数据,真实数据可以很好捕获到实际应用场景中的各种变化和复杂性,从而使微调后的模型可以更好适应真实场景。
  3. 针对性:不同prompt对模型的重要性和必要性不一样,针对用户反馈差的数据人工修改大模型回复,更改为更优质的数据加入到微调数据中。
  4. 多样性和广覆盖:prompt和response的类型多样、场景多样、避免重复,尽量覆盖到全场景确保数据的多样性,覆盖各种长尾和边缘问题情况,避免过拟合导致的模型效果不佳,缺乏泛化能力。
  5. 数量级:最低要准备100条数据,最好达到5000条为最优,补充数据可以采用少量多次的策略,每次补充针对性强的数据做小规模迭代训练,观察效果后再尝试。
    总之微调数据的准备,要重复挖掘各个维度,分析数据的分布特点,合理划分训练、测试和验证集。

注意:

  1. 基础模型能力在特定目标任务处理上能力越弱,其更需要数据集来补充加强其能力的提升,对数据集的数量和覆盖度的要求就越高。
  2. 复杂逻辑推理、多步多工具调用、精细化参数组合使得任务复杂度越高,其对数据的需求量也越大。

微调数据构造:获取和合成
数据获取方式:格式化NLP任务数据、从日常对话中获取数据、数据合成
数据合成方式:批量生成(Batch Generation)、脚本合成(Script Synthesis)、数据增强(Data Augmentation)
批量生成(Batch Generation):
Self-Instruct(出自论文Self-Instruct: Aligning Language Models with Self-Generated Instructions)、Evol-Instruct(出自论文WizardLM: Empowering large pre-trained language models to follow complex instructions)。利用大模型根据自身能力和少量的样例数据,自动生成海量指令响应对数据,高效扩展数据库。

  1. Self-Instruct步骤:指令生成->分类任务识别->实例生成->过滤和后处理
  2. Evol-Instruct步骤:指令生成->响应指令->进化消除->数据集拆分
    指令生成:使用LLM生成多样化而且负责的指令,包括深度进化(包括添加约束、深化、具体化,增加推理步骤以及输出负责化)和广度进化(增加主题和技能覆盖度和数据集多样性)。
    响应指令:使用LLM为进化后的指令生成相应的响应。
    进化消除:过滤进化后失败的指令。
    数据集拆分:测试数据集中的数据质量分布要和训练数据集中大致一致,内容不能重复,避免测试不准确。
    脚本合成(Script Synthesis):适用于具有特定格式和规则下的数据,特别是控制参数组合和特定场景时。先定制灵活的数据Prompt模板,在利用python等脚本自动化合成数据。例如先定义工具调用的prompt模板,利用Python随机组合不同下的用户输入、参数值和工具名称,自动化生成结构化语料。
    数据增强(Data Augmentation):是对现成语料的扩展增强,例如将输入内容做同义词替换、结构变换、删除无关信息或口语化表达等,尽量增加数据集的多样性和泛化能力,涉及工具调用部分,可以对参数值做随机组合,来生成更多的变体。低成本扩充语料,尽可能模拟用户输入复杂性。

大模型能力评估评测指标

目的:评估模型在未见过数据上的泛化能力和预测能力.
问题分类:封闭式问题和开放式问题.

  1. 封闭式问题:
    方法:自动化评测。根据模型输出和标准答案,使用脚本完成模型评测。
    封闭式评测数据集:
数据集名 数据集内容
MMLU 出自论文Measuring Massive Multitask Language Understanding。大规模多任务语言理解基准数据集,用于评估大型语言模型(LLM)在广泛知识领域和复杂任务中的综合能力。
C-Eval 出自论文C-Eval: A Multi-Level Multi-Discipline Chinese Evaluation Suite for Foundation Models。全面的中文基础模型评估套件.C-Eval包含四个难度级别(初中、高中、大学和专业)的多项选择题,涵盖了从人文到科学与工程的52个不同学科
  1. 开放式问题:
    方法:人工评测和大模型评测
    人工评测:人工打分是金标准,关键在于如何指定评价规则.
    评分标准:明确评估维度,角色扮演场景评估看重大模型人设遵循(言行是否符合角色设定身份、语气和特点等)和回答质量(回答是否和上下文对话相符,内容丰富有建设性),在打分时要尽量屏蔽掉预测结果的来源,以防止人为偏见的引入。
    计分标准:GSB打分制和绝对分值制.
    GSB打分制(Good Same Bad):用于评判对同一个评估集的两份预测结果之间的好坏,可以直接对比两种模型或参数组之间的好坏。Good代表结果A比B好,Same代表回答质量相近,Bad代表A不如B.
    绝对分值制:按照一定评分标准直接对大模型的输出结果做评分,用于横向比较多个模型的结果。
    典型微调数据集:
数据集名 描述 中英文
alpaca-gpt4-data-zh 该数据集为GPT-4生成的中文数据集,用于LLM的指令精调和强化学习等 中文
QingyiSi/Alpaca-CoT 指令微调数据集集合(Alpaca-CoT) 中英文

大模型评测:使用大模型打开可辅助降低人工成本。为保证评估结果有效,自动打分结果也要人工复查。
开放式评测数据集:

数据集名 数据集内容
MT-Bench 出自论文Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena。MT-Bench是一个专门用于评估大模型能力的测试框架,它涵盖了写作、角色扮演、推理、数学、编码、人文、提取以及STEM(科学、技术、工程、数学)等8个不同领域的问题。这些问题旨在全面考察大模型在各个方面的表现。
AlignBench 出自论文AlignBench: Benchmarking Chinese Alignment of Large Language Models。AlignBench 是第一个多维度全面评估中文大模型对齐水平的评测基准。此仓库包含了 AlignBench 的介绍信息、数据和代码。

常用任务的评价指标:

  1. 分类型任务:准确率(accuracy = (TP + TN)/(TP + FP + TN + FN))、召回率(recall = TP/(FP + FN))、精确率(precision = TP/(TP + FP))、F1分数(F1 Score = 2 * (precision * recall)/(precision + recall))、ROC曲线和AUC等。
  2. 生成类任务:Rouge和Bleu, 其中Rouge(Recall-Orientaed Understudy for Gisting Evaluation)利用自动生成的内容和一组人工参考内容做对比计算,得到分值,借以衡量自动生成的内容和参考内容之间的“相似度”。分为单个词(Rouge-1)、两个连续词(Rouge-2)、最长公共子序列(Rouge-L)三种类型。Bleu(Bilingual Evaluation Understudy),主要用于机器翻译任务,计算模型输出和参考内容直接的n-gram(通常为1-4gram)的精确度,并对过短的输出进行惩罚,范围在[0,1]之间,一般越高越好。

大模型训练开发基本流程

大模型训练开发基本流程:pre-training(预训练)+post_training(后训练)

  1. pre-training(预训练):使用数据训练基础大模型,再通过增量预训练来为模型注入特定领域知识。
    1.1 预训练(Pre-Training): 利用大量数据、算力资源,利用无监督训练方法获得基础大模型,该模型虽然有强大的文本生成能力,但存在不适应特定任务的能力,需要微调。
    1.2 增量预训练(Continued Pre-Training:在通用的基础大模型基础上进行二次训练,利用特定领域的语料数据进行增量预训练,注入领域知识后形成垂域大模型。
  2. post_training(后训练):利用监督微调、偏好对齐、上下文学习、特定任务微调,使训练好的模型更好的适应特定领域的任务,并符合人类表达行为和习惯。
    2.1 监督微调(Supervised Fine-Tuning, SFT):在高效率指令-响应对数据集(Instruction-Response)上对基础大模型做微调后,使模型适应特定任务。例如开源模型经过问答任务微调后的chat模型版本。Qwen 1.5-14B-Chat-GQPT-Int4(Qwen代表模型系列,1.5代表模型版本,14B表示模型参数量,Chat代表模型经过问答任务微调,GQPT代表量化格式)
    2.2 偏好对齐(Reinforcement Learning from Human Feedback, RLHF):基于人类反馈的强化学习。利用人类反馈优化模型输出的生成质量,促使其生成的回答内容符合人类价值观,对齐人类偏好。一般方法是利用训练好的奖励模型(Reward Model, RM)代替人类手动打分,利用强化学习(RL)框架做大规模自动优化。
    2.3 上下文学习(In-Context Learning, ICL):利用在Prompt中添加few-shot(少量示例)引导模型完成任务,不需修改模型参数,好处是可以快速适应新任务,但是其性能受限于Prompt的质量和模型本身上下文窗口大小。
    2.4 特定任务微调(Task-sepcific Fine-tuning):聚集阶段,针对特定的目标任务,利用该任务少量标注数据对模型做进一步微调,以实现最大化模型在该任务上的性能。将通用模型适配到具体应用场景中,使成为该领域的专家。该阶段依赖微调数据集的构建,可以先根据不同的泛化情况构建不同泛化的数据集,再针对表示不佳的BadCase内容纠错补缺,精细化补充少量的高质量数据集,再让模型在此数据集上迭代训练。

大模型微调基本流程

大模型微调流程(以现成模型为基础)
流程:数据集准备->模型选择->微调策略选择->超参数设置->初始化模型参数->微调训练->模型评估和调优->模型性能测试->模型部署和应用

  1. 数据集准备:收集并准备和目标任务相关的数据集。在保证数据集质量和标准准确性的前提下,做必要的数据清洗和数据预处理。
  2. 模型选择:根据目标任务和数据集特点,选择合适的大模型
  3. 微调策略选择:根据任务需求和可用资源情况,选择适当的微调策略,确定微调层级和范围。
  4. 超参数设置: 确定微调过程中的超参数,如学习率等。这些超参数会影响微调的性能和收敛速度。
  5. 初始化模型参数: 根据微调策略和模型选择,初始化微调模型参数和权重。全微调的所有参数都需要初始化,部分微调的要选择一些模型层的参数做初始化。
  6. 微调训练: 运用训练数据集和微调策略,对模型开始训练,根据设置的超参数和优化算法,逐渐调整模型参数以最小化损失函数。
  7. 模型评估和调优: 使用验证数据集对模型做性能评估,并根据评估结果调整超参数和微调策略。
  8. 模型性能测试: 微调完成后,使用验证数据集对最终微调模型做性能评估,获取最终性能指标。
  9. 模型部署和应用: 将微调后的模型部署到实际应用中,并根据实际情况做优化和调整,满足实际需要。

注意事项

  1. 超过10B的大模型在训练过程中需要特别关注训练不稳定和不收敛的问题,遇到这类问题时,可以考虑在训练崩溃时调整学习率,跳过异常的batch。对于词嵌入层的梯度爆炸或者消失的问题,可以使用BF16来避免精度溢出导致的异常。
  2. 使用全量微调模型适配自身领域,需要重点关注模型参数存储、前向传播和梯度更新。模型结构决定模型参数,模型的前向传播产生的中间激活值参数会影响训练所需的显存大小,模型从梯度参数更新下的优化器也需要对应的参数量,这些因素都会导致需要在模型训练前,借助对显存大小的估计来确定显卡硬件资源。

参考文献

[1] Self-Instruct: Aligning Language Models with Self-Generated Instructions
[2] Scaling Laws for Neural Language Models
[3] Actions Speak Louder than Words: Trillion-Parameter Sequential Transducers for Generative Recommendations
[4] LongLoRA: Efficient Fine-tuning of Long-Context Large Language Models
[5] Scaling Laws of RoPE-based Extrapolation
[6] Text Generation Inference
[7] Training language models to follow instructions with human feedback
[8] Direct Preference Optimization: Your Language Model is Secretly a Reward Model
[9] A General Theoretical Paradigm to Understand Learning from Human Preferences
[10] ORPO: Monolithic Preference Optimization without Reference Model
[11] DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models
[12] Inference-Time Scaling for Generalist Reward Modeling
[13] Delving into RL for Image Generation with CoT: A Study on DPO vs. GRPO
[14] Self-Rewarding Language Models
[15] Absolute Zero: Reinforced Self-play Reasoning with Zero Data
[16] TrafficGPT: Breaking the Token Barrier for Efficient Long Traffic Analysis and Generation
[17] Respond to Change with Constancy: Instruction-tuning with LLM for Non-I.I.D. Network Traffic Classification
[18] 大模型微调实践课
[19] Llama 2: Open Foundation and Fine-Tuned Chat Models
[20] A Survey of Large Language Models
[21] CharacterEval: A Chinese Benchmark for Role-Playing Conversational Agent Evaluation
[22] 大模型 LoRA 微调原理详解
[23] 理解深度学习
[24] 面向开发者的 Prompt 工程


文章作者: 青山生柳
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 青山生柳 !
 上一篇
大模型微调(Tuning)实践-OpenAI的RAG和微调经验总结 大模型微调(Tuning)实践-OpenAI的RAG和微调经验总结
大模型微调(Tuning)实践-OpenAI的RAG和微调经验总结,主要简单介绍一下演讲的主题、日期、演讲人等信息,其次是做演讲内容的总结,包括LLM的优化难点、提示词工程实践经验、RAG实践经验、微调实践经验和参考文献等。
2025-10-02
下一篇 
神经网络研究-Transformer架构 神经网络研究-Transformer架构
神经网络研究-Transformer架构,主要介绍Transformer架构的关键技术、架构、深度学习框架下的模型代码分析、大语言模型分类和参考文献等。
2025-09-30
  目录