Navigate to WaytoAGI Wiki →
Home/Question List/Question Detail

模型微调

Answer

以下是关于模型微调的相关信息:

微调步骤

  1. 微调脚本:
  2. 加载微调模型:
    • LoRA 微调:基于 LoRA 微调的模型参数见基于 Llama2 的中文微调模型,LoRA 参数需要和基础模型参数结合使用。通过PEFT加载预训练模型参数和微调模型参数。
    • 全量参数微调:调用方式同模型调用代码示例,只需要修改其中的模型名称或者保存路径即可。

微调介绍: 微调可让您从 API 提供的模型中获得更多收益,包括比即时设计更高质量的结果、能够训练比提示中更多的例子、由于更短的提示而节省了 Token、更低的延迟请求。GPT-3 已经在来自开放互联网的大量文本上进行了预训练。微调通过训练比提示中更多的示例来改进小样本学习,让您在大量任务中取得更好的结果。对模型进行微调后,您将不再需要在提示中提供示例。这样可以节省成本并实现更低延迟的请求。在高层次上,微调涉及准备和上传训练数据、训练新的微调模型、使用您的微调模型等步骤。

可微调的模型: 微调目前仅适用于以下基础模型:davinci、curie、babbage 和 ada。这些是原始模型,在训练后没有任何说明(例如 text-davinci-003)。您还可以继续微调微调模型以添加其他数据,而无需从头开始。

OpenAI 的模型概述: OpenAI API 由具有不同功能和价位的多种模型提供支持。您还可以通过微调针对您的特定用例对我们的原始基本模型进行有限的定制。包括 GPT-4 Beta、GPT-3.5、DALL·E Beta、Whisper Beta、Embeddings、Codex Limited Beta、Moderation、GPT-3 等模型。

Content generated by AI large model, please carefully verify (powered by aily)

References

模型微调

LoRA微调脚本见:[train/sft/finetune_lora.sh](https://github.com/LlamaFamily/Llama-Chinese/blob/main/requirements.txt),关于LoRA微调的具体实现代码见[train/sft/finetune_clm_lora.py](https://github.com/LlamaFamily/Llama-Chinese/blob/main/train/sft/finetune_clm_lora.py),单机多卡的微调可以通过修改脚本中的--include localhost:0来实现。[heading6]全量参数微调[content]全量参数微调脚本见:[train/sft/finetune.sh](https://github.com/LlamaFamily/Llama-Chinese/blob/main/train/sft/finetune.sh),关于全量参数微调的具体实现代码见[train/sft/finetune_clm.py](https://github.com/LlamaFamily/Llama-Chinese/blob/main/train/sft/finetune_clm.py)。[heading5]Step4:加载微调模型[heading6]LoRA微调[content]基于LoRA微调的模型参数见:基于Llama2的中文微调模型,LoRA参数需要和基础模型参数结合使用。通过[PEFT](https://github.com/huggingface/peft)加载预训练模型参数和微调模型参数,以下示例代码中,base_model_name_or_path为预训练模型参数保存路径,finetune_model_path为微调模型参数保存路径。[heading6]全量参数微调[content]对于全量参数微调的模型,调用方式同模型调用代码示例,只需要修改其中的模型名称或者保存路径即可。

微调(Fine-tuning)

了解如何为您的应用程序定制模型。[heading2]介绍[content]通过提供以下内容,微调可让您从API提供的模型中获得更多收益:1.比即时设计更高质量的结果2.能够训练比提示中更多的例子3.由于更短的提示而节省了Token4.更低的延迟请求GPT-3已经在来自开放互联网的大量文本上进行了预训练。当给出仅包含几个示例的提示时,它通常可以凭直觉判断出您要执行的任务并生成合理的完成。这通常称为“小样本学习”。微调通过训练比提示中更多的示例来改进小样本学习,让您在大量任务中取得更好的结果。对模型进行微调后,您将不再需要在提示中提供示例。这样可以节省成本并实现更低延迟的请求。在高层次上,微调涉及以下步骤:1.准备和上传训练数据2.训练新的微调模型3.使用您的微调模型[heading2]哪些模型可以微调?[content]微调目前仅适用于以下基础模型:davinci、curie、babbage和ada。这些是原始模型,在训练后没有任何说明(例如text-davinci-003)。您还可以继续微调微调模型以添加其他数据,而无需从头开始。[heading2]安装[content]我们建议使用我们的OpenAI命令行界面(CLI)。要安装这个,运行(以下说明适用于0.9.4及更高版本。此外,OpenAI CLI需要python 3。)OPENAI_API_KEY通过将以下行添加到您的shell初始化脚本(例如.bashrc、zshrc等)或在微调命令之前的命令行中运行它来设置您的环境变量:

模型(Models)

OpenAI API由具有不同功能和价位的多种模型提供支持。您还可以通过[微调(fine-tuning)](https://ywh1bkansf.feishu.cn/wiki/ATYCwS5RRibGXNkvoC4ckddLnLf),针对您的特定用例对我们的原始基本模型进行有限的定制。|模型|描述||-|-||[GPT-4](https://platform.openai.com/docs/models/gpt-4)Beta|一组改进GPT-3.5的模型,可以理解和生成自然语言或代码||[GPT-3.5](https://platform.openai.com/docs/models/gpt-3-5)|一组改进GPT-3的模型,可以理解并生成自然语言或代码||[DALL·E](https://platform.openai.com/docs/models/dall-e)Beta|可以在给定自然语言提示的情况下生成和编辑图像的模型||[Whisper](https://platform.openai.com/docs/models/whisper)Beta|可以将音频转换为文本的模型||[Embeddings](https://platform.openai.com/docs/models/embeddings)|一组可以将文本转换为数字形式的模型||[Codex](https://platform.openai.com/docs/models/codex)Limited Beta|一组可以理解和生成代码的模型,包括将自然语言转换为代码||[Moderation](https://platform.openai.com/docs/models/moderation)|可以检测文本是否敏感或不安全的微调模型||[GPT-3](https://platform.openai.com/docs/models/gpt-3)|一组可以理解和生成自然语言的模型|

Others are asking
rag 模型微调
RAG(检索增强生成)模型微调相关知识如下: 通用语言模型通过微调可完成常见任务,如分析情绪和识别命名实体。对于更复杂和知识密集型任务,可基于语言模型构建系统并访问外部知识源。Meta AI 引入的 RAG 方法把信息检索组件和文本生成模型结合,可微调且内部知识修改高效,无需重新训练整个模型。 RAG 接受输入并检索相关支撑文档,给出来源,与输入原始提示词组合后送给文本生成器得到输出,能适应事实变化,获取最新信息并生成可靠输出。 通用的 RAG 微调方法如 Lewis 等人(2021)提出的,使用预训练的 seq2seq 作为参数记忆,用维基百科的密集向量索引作为非参数记忆。 在微调阶段: 检索器微调的常用方法包括直接微调、添加可训练的 Adapter 模块、LSR、LLM Reward RL。 生成器微调的主要方法包括直接微调、GPT4 蒸馏、基于反馈的强化学习。 协同微调是在 RAG 系统中同时对检索器和生成器进行微调,如 RADIT 分别对 LLM 和检索器进行微调。 同时,RAG 提高了嵌入模型质量,传统 RAG 解决方案中的问题也得到解决。
2025-02-24
本地部署Deepseek如何微调呢
对于本地部署 DeepSeek 的微调,以下是一些相关信息: 对于企业级部署,首先要根据实际业务场景评估所需部署的模型规格以及所需的服务器资源,预估完服务器资源后,还需评估业务场景是否需要二次开发模型。如果只是简单微调模型就能符合业务需求,使用 Ollama、LM Studio、GTP4All 或许可以满足诉求;若需要定制化开发模型,则要考虑进行模型的原生部署。 关于微调的方法,LoRA/QLoRA 论文指出其是对模型进行廉价微调的可行方法,如 。 另外,DeepSeek 模型如 JanusPro 有特别的训练法,先进行预训练,然后老师手把手教(监督微调),最后用“精华浓缩法”保存最好的学习成果。
2025-02-23
如何在本地服务器上微调LLM
在本地服务器上微调 LLM 可以参考以下内容: 1. 提示词工程: 提示词工程主要由提示词注入和工具结果回传两部分代码组成。 提示词注入用于将工具信息及使用工具的提示词添加到系统提示中,其中 INSTRUCTION 包含 TOOL_EAXMPLE、tools_instructions、REUTRN_FORMAT 三个部分。TOOL_EAXMPLE 用于提示 LLM 如何理解和使用工具,编写时应注意用无关紧要的工具作示例。tools_instructions 可通过输入不同工具动态调整,让 LLM 得知可用工具及使用方法。REUTRN_FORMAT 定义调用 API 的格式。 工具结果回传阶段利用正则表达式抓取输出中的“tool”和“parameters”参数,对于 interpreter 工具使用另一种正则表达式提取 LLM 输出的代码,提高成功率。通过识别 LLM 返回的调用工具字典,提取对应值传入工具函数,将结果以 observation 角色返回给 LLM,对于不接受相关角色的 LLM 接口,可改为回传给 user 角色。 2. 微调方法: 传统微调:采用在通用数据集上预训练的模型,复制模型后在新的特定领域数据集上重新训练,但大型语言模型微调面临训练时间长、计算成本高等挑战。 参数有效调优:这是一种创新的调优方法,旨在通过仅训练一部分参数来减少微调 LLM 的挑战,参数可以是现有模型参数的子集或全新的参数。 为使微调达到最佳效果,应从明确目标和高质量数据集开始,使用体现所需输出类型的数据,进行迭代测试,从小的渐进变化开始并评估结果。 对于 OpenAI 的模型,微调包括使用其提供的 API 在数据集上进一步训练,需调整超参数并监控性能。对于开源 LLM,微调可能需要更多实践工作,包括设置训练环境、管理数据流及调整模型架构。 对于需要快速迭代新用例的场景,微调作用较小。要实现微调功能,需创建大型训练数据集,整理成适当格式,启动训练任务并评估性能。建立模型改进工作流程,监控性能变化,依据反馈改进模型,记录生成的模型及评分指标,许多 LLMOps 平台能自动收集和显示最佳数据,方便微调。
2025-02-21
模型微调是怎么实现的
模型微调是一种迁移学习技术,常用于深度学习中。其基本思路是先有一个在大量数据上预训练的模型,已学会一些基本模式和结构,然后在特定任务数据上继续训练以适应新任务。 以下是关于模型微调的具体实现步骤: 1. 准备和上传训练数据。 2. 训练新的微调模型: LoRA 微调: 脚本见:。 具体实现代码见。 单机多卡的微调可通过修改脚本中的include localhost:0 来实现。 全量参数微调: 脚本见:。 具体实现代码见。 3. 加载微调模型: LoRA 微调:基于 LoRA 微调的模型参数见基于 Llama2 的中文微调模型,LoRA 参数需和基础模型参数结合使用。通过加载预训练模型参数和微调模型参数。 全量参数微调:调用方式同模型调用代码示例,只需修改其中的模型名称或保存路径。 微调的优点包括: 1. 比即时设计更高质量的结果。 2. 能够训练比提示中更多的例子。 3. 由于更短的提示而节省了 Token。 4. 更低的延迟请求。 微调目前仅适用于以下基础模型:davinci、curie、babbage 和 ada。 以下是两个帮助理解微调概念的例子: 1. 情感分类:先使用大量语料库预训练模型,使其学会基本语法和单词语义,再收集标注过的电影评论(积极或消极)继续训练模型,使其学会判断评论情感。 2. 图像分类:先使用大量图片(如 ImageNet 数据集)预训练模型,使其学会识别图片中的基本形状和纹理,再收集标注过的猫和狗的图片继续训练模型,使其学会区分猫和狗。
2025-02-19
RAG和微调是什么,分别详细讲讲一下它是怎么实现的
RAG(RetrievalAugmented Generation,检索增强生成)是解决大语言模型在实际应用中存在的一些问题的有效方案。 大语言模型存在以下问题: 1. 知识的局限性:模型自身的知识完全源于训练数据,对于实时性、非公开或离线的数据无法获取。 2. 幻觉问题:基于数学概率的文字预测导致可能提供虚假、过时或通用的信息。 3. 数据安全性:企业担心私域数据上传第三方平台训练导致泄露。 RAG 可以让大语言模型从权威的、预先确定的知识来源中检索、组织相关信息,更好地控制生成的文本输出,用户也能深入了解模型如何生成最终结果。它类似于为模型提供教科书,适用于回答特定询问或解决特定信息检索任务,但不适合教模型理解广泛领域或学习新的语言、格式或样式。 微调类似于让学生通过广泛学习内化知识。这种方法在模型需要复制特定结构、样式或格式时非常有用。微调可以提高非微调模型的性能,使交互更有效率,特别适合强调基础模型中的现有知识,修改或自定义模型的输出,并向模型提供复杂的指令。然而,微调不适合合并模型中的新知识或需要新用例的快速迭代。 参考资料:《RetrievalAugmented Generation for Large Language Models:A Survey》(https://arxiv.org/pdf/2312.10997.pdf)
2025-02-19
大语言模型、多模态、数据、算力、算法、预训练、微调、RAG、自注意力机制、transformer、token、神经网络、向量、scaling law这些内容的含义
以下是对您所提到的这些内容含义的解释: 大语言模型:是一种基于大量文本数据进行训练的语言处理模型,其工作原理包括训练数据、算力、模型参数等。在训练数据一致的情况下,模型参数越大能力越强。 多模态:指能够处理多种不同类型的数据模态,如文本、图像、音频等,并将它们融合进行理解和生成。 数据:是大语言模型训练和应用的基础,包括各种文本、图像、音频等信息。 算力:指用于支持大语言模型训练和运行的计算能力。 算法:是大语言模型实现各种功能的数学和逻辑方法。 预训练:在大语言模型中,先在大规模数据上进行无特定任务的初步训练。 微调:基于通用大模型,针对特定领域任务提供数据进行学习和调整,以适应特定领域的需求。 RAG:检索增强生成,通过引用外部数据源为模型做数据补充,适用于动态知识更新需求高的任务。其工作流程包括检索、数据库索引、数据索引、分块、嵌入和创建索引、增强、生成等步骤。 自注意力机制:是 Transformer 架构中的重要部分,能理解上下文和文本关联,通过不断检索和匹配来寻找依赖关系,处理词和词之间的位置组合,预测下一个词的概率。 Transformer:是大语言模型训练架构,用于翻译等任务,具备自注意力机制。 Token:在自然语言处理中,是文本的基本单位。 神经网络:是大语言模型的基础架构,模拟人脑神经元的连接和信息处理方式。 向量:在大语言模型中,用于表示文本等数据的数学形式。 Scaling Law:关于大语言模型规模和性能之间关系的规律。
2025-02-18
AI编程大模型排行榜
以下是一些关于 AI 编程大模型的相关信息: 1. ShowMeAI 周刊 No.13 中提到的相关内容: Learn About:继 NotebookLM 之后又一个 AI Native 产品,谷歌真正的 AI Native Education 尝试。 ima.copilot V.S. 秘塔 V.S. 天工:国区 Perplexity 青出于蓝而胜于蓝,秘塔一骑绝尘。 Markdown:技术圈(最)常用的文本编辑语言,一种「四通八达」的中转格式,并附上好用的转换工具。 把 17 岁高中生涂津豪的 Thinking Claude 提示词,设置在 Cursor 里。 两篇优秀的 AI 编程教程:跟着资深工程师&全栈开发者,挖掘 LLM 编程能力的极限。 恭喜阶跃星辰!step2 在 LiveBench 榜单杀进前 5,斩获国产大模型第 1 名,并顺带聊聊榜单和测评的「内幕」。 举个栗子:当把大模型「开源」用「做饭吃饭」来解释,一起都豁然开朗起来,甚至还玩起了谐音梗。 很有共鸣:为什么大部分人用不起来 AI?可能还没体验到效率飞升的 Aha Moment。 集体讨论:大家都是怎么快速处理长视频、长音频、长文本材料的?都有哪些工作流和工具的配合应用? 2. Trae:字节开发的一款和 AI 深度集成的 AI 编程工具,可让用户限时免费无限量使用地球上最强大的编程大模型 Claude Sonnet,全自动化进行 AI 编程。包含完整的 IDE 功能,如代码编写、项目管理、插件管理、源代码管理等,提供智能问答、实时代码建议、代码片段生成、从 0 到 1 开发项目。 3. 8 月正式上线的国内大模型: 北京的五家企业机构:百度(文心一言)https://wenxin.baidu.com ;抖音(云雀大模型)https://www.doubao.com ;智谱 AI(GLM 大模型)https://chatglm.cn ;中科院(紫东太初大模型)https://xihe.mindspore.cn ;百川智能(百川大模型)https://www.baichuanai.com/ 。 上海的三家企业机构:商汤(日日新大模型)https://www.sensetime.com/ ;MiniMax(ABAB 大模型)https://api.minimax.chat ;上海人工智能实验室(书生通用大模型)https://internai.org.cn 。 能生成 Markdown 格式的:智谱清言、商量 Sensechat、MiniMax 。 目前不能进行自然语言交流的:昇思(可以对文本进行是否由 AI 生成的检测,类似论文查重,准确度不错)、书生 。 受限制使用:MiniMax(无法对生成的文本进行复制输出,且只有 15 元的预充值额度进行体验,完成企业认证后可以进行充值) 。 特色功能:昇思——生图,MiniMax——语音合成 。 阿里通义千问、360 智脑、讯飞星火等均不在首批获批名单中。广东地区获批公司分别为华为、腾讯,科大讯飞系其他地区获批产品。
2025-02-24
如何正确的向AI大模型提问
向 AI 大模型正确提问可以参考以下方法: 1. 对于利用 Embedding 技术增强 GPT 能力的过程,OpenAI 发布的相关文档指出,可通过两步搜索来实现。具体步骤包括: 准备搜索数据(仅一次): 搜集数据:获取需要的数据,包括公开数据或者私有的数据。 切块:将文档切分成短小的部分。 嵌入:通过 OpenAI API 对切块的数据进行 Embedding 结果。 存储:存储 Embedding 结果,对于大型数据集的 Embedding 结果,可以使用向量数据库进行保存。 搜索(每次查询一次):给定用户问题,从 OpenAI API 生成查询的 embeddings,使用 embeddings 按照与查询相关性对文本部分进行排序,推荐使用余弦相似性作为距离函数。 提问(每次查询一次):将问题和最相关的部分插入到发送给 GPT 的消息中返回 GPT 的答案。 2. Embedding 具有多种作用,如搜索(其中结果按与查询字符串的相关性进行排名)、聚类(其中文本字符串按相似性分组)、建议(建议包含相关文本字符串的项目)、异常检测(识别出相关性很小的离群值)、多样性测量(分析相似性分布)、分类(其中文本字符串按其最相似的标签分类)。 3. 关于 RAG(检索增强生成),它是一种结合了检索和生成的技术,可以让大模型在生成文本时利用额外的数据源,从而提高生成的质量和准确性。其基本流程如下: 首先,给定一个用户的输入,例如一个问题或一个话题,RAG 会从一个数据源中检索出与之相关的文本片段,例如网页、文档或数据库记录,这些文本片段称为上下文。 然后,RAG 会将用户的输入和检索到的上下文拼接成一个完整的输入,传递给一个大模型,例如 GPT。这个输入通常会包含一些提示,指导模型如何生成期望的输出,例如一个答案或一个摘要。 最后,RAG 会从大模型的输出中提取或格式化所需的信息,返回给用户。如果您想构建能够利用私有数据或实时数据进行推理的 AI 应用,需要用特定的信息来增强模型的知识,将相关信息检索并插入到模型的输入中。
2025-02-24
表格内填充的内容如何批量循环调用大模型生成内容
以下是关于表格内填充内容如何批量循环调用大模型生成内容的相关信息: 大模型生成文字并非一次性输出整段,而是通过反复调用神经网络模型,一个字一个字地续写,直到输出结束符号。其输出不是确定的一个字,而是所有字的概率,可选择概率高的字或随机挑选。 在生成标题、导语、大纲等涉及文本理解与创作的任务时,可通过配置 LLM 节点来实现。为节省 token 消耗和模型调度费用,在满足预期的情况下,应减少大模型处理环节。例如,豆包·function call 32k 模型能在一轮对话中稳定生成这些内容。配置时要关注节点的各项设置,如根据实际情况调大模型的最大回复长度,并设计填入用户提示词。
2025-02-24
目前市面上有多少不同的大模型,请枚举出来
目前市面上的大模型列举如下: 北京企业机构: 百度(文心一言):https://wenxin.baidu.com 抖音(云雀大模型):https://www.doubao.com 智谱 AI(GLM 大模型):https://chatglm.cn 中科院(紫东太初大模型):https://xihe.mindspore.cn 百川智能(百川大模型):https://www.baichuanai.com/ 上海企业机构: 商汤(日日新大模型):https://www.sensetime.com/ MiniMax(ABAB 大模型):https://api.minimax.chat 上海人工智能实验室(书生通用大模型):https://internai.org.cn 大型模型主要分为两类: 1. 大型语言模型,专注于处理和生成文本信息。 2. 大型多模态模型,能够处理包括文本、图片、音频等多种类型的信息。 大模型的整体架构从整体分层的角度来看,大致分为以下几层: 1. 基础层:为大模型提供硬件支撑,数据支持等,例如 A100、数据服务器等等。 2. 数据层:这里的数据层指的不是用于基层模型训练的数据基集,而是企业根据自己的特性,维护的垂域数据。分为静态的知识库,和动态的三方数据集。 3. 模型层:包括 LLm(大语言模型)或多模态模型。LLm 如 GPT,一般使用 transformer 算法来实现。多模态模型即市面上的文生图、图生图等的模型,训练所用的数据与 llm 不同,用的是图文或声音等多模态的数据集。 4. 平台层:模型与应用间的平台部分,比如大模型的评测体系,或者 langchain 平台等,提供模型与应用间的组成部分。 5. 表现层:也就是应用层,用户实际看到的地方。 另外,阿里通义千问、360 智脑、讯飞星火等均不在首批获批名单中。据悉,广东地区获批公司分别为华为、腾讯,科大讯飞系其他地区获批产品。
2025-02-24
大模型的发展历史
大模型的发展历史如下: 2017 年,发布了 Attention Is All You Need 论文,开启了大模型发展的序幕。 2018 年,Google 提出 BERT(Bidirectional Encoder Representations from Transformers),通过双向预训练并行获取上下文语义信息和掩码语言建模,开创了预训练语言表示范式,参数规模在 110M 到 340M 之间。 2018 年,OpenAI 提出 GPT(Generative Pretrained Transformer),开创了仅使用自回归语言建模作为预训练目标而无需额外监督信号的方式,展示了强大的语言生成能力,参数规模达 1750 亿。 2021 年,Meta 提出 Large LAnguage Model Approach(LLAMA),这是首个开源模型,为构建更大规模、更通用的语言模型提供了系统化的方法与工具,参数规模在十亿到千亿之间。 2023 年是大模型澎湃发展的一年,从 22 年 11 月 ChatGPT 的惊艳面世,到 23 年 3 月 GPT4 作为“与 AGI(通用人工智能)的第一次接触”,到 23 年末多模态大模型的全面爆发,再到刚刚面世的 Sora 再次震惊世界。随着大模型技术的愈发成熟和规模增大,为 AI Agent 提供强大能力,有望构建具备自主思考、决策和执行能力的智能体,广泛应用于多个行业和领域。
2025-02-24