AI大模型优化方法简介:Prompt、RAG、Fine-tuning

GPT、LLama、Gemini等大语言模型虽展现出强大能力,但在实际应用中仍有问题,例如在准确性、知识更新速度和答案透明度方面,仍存在挑战。

论文“Retrieval-Augmented Generation for Large Language Models: A Survey(面向大语言模型的检索增强生成技术:调查)
https://arxiv.org/abs/2312.10997 对解决这些问题的模型优化方法做了分类,如下图:

图:模型优化方法的比较,两个坐标轴分别是:对外部知识的需求和模型的适配复杂度。

附:这篇论文的中文翻译推荐看宝玉翻译的版本:
https://baoyu.io/translations/ai-paper/2312.10997-retrieval-augmented-generation-for-large-language-models-a-survey

一、Prompt Engineering 提示词工程

提示词工程可以分三个层次:

  • 标准提示词
  • Few-shot 少量示例提示词,通过提供少量的示例来让模型回答的更精准。
  • XoT 提示词,例如 CoT(思维链),ToT(思维树),参看 使用思维链写Prompt

下面是一个 Few-shot prompt的示例:

A “whatpu” is a small, furry animal native to Tanzania. An example of a sentence that uses
the word whatpu is:
“whatpu”是坦桑尼亚的一种小型毛茸茸的动物。一个使用whatpu这个词的句子的例子是:

We were traveling in Africa and we saw these very cute whatpus.
我们在非洲旅行时看到了这些非常可爱的whatpus。

To do a “farduddle” means to jump up and down really fast. An example of a sentence that uses the word farduddle is:
“farduddle”是指快速跳上跳下。一个使用farduddle这个词的句子的例子是:

输出:

When we won the game, we all started to farduddle in celebration.
当我们赢得比赛时,我们都开始庆祝跳跃。

二、RAG 检索增强生成

检索增强生成(Retrieval-Augmented Generation, RAG) 特指一种模式:模型在回答问题或生成文本时,首先从广阔的文档库中寻找相关信息。然后,模型使用这些找到的信息来生成回答或文本,从而提高其预测的准确度。

论文中把RAG分成三种范式:

  • Naive RAG 朴素RAG, 添加相关上下文
  • Advanced RAG 高级RAG,在索引/检索前/检索后做优化
  • Modular RAG 模块化RAG,有机组合多种模块

下图是三种RAG范式的比较

2.1、Naive RAG 朴素RAG

Naive RAG 的准备流程如下:

  • 将文本分割成小块;
  • 然后使用某种 Transformer Encoder 模型将这些小块转换为向量;
  • 把这些向量汇总到一个索引中;

在使用时,创建一个针对大语言模型的提示,指导模型根据我们在搜索步骤中找到的上下文回答用户的查询。

下面是一个RAG例子,中文的prompt在注释里:

def question_answering(context, query):
    # 请回答后面用三个反引号 ```{query}```包围的问题,
    # 回答时参考用三个反引号 ```{context}```包围的参考信息。
    # 如果提供的上下文中没有相关信息,尝试自己回答,但要告诉用户你没有相关的上下文作为回答的依据。
    # 回答要简洁,输出的答案少于80个token。
    prompt = f"""
Give the answer to the user query delimited by triple backticks ```{query}```\
using the information given in context delimited by triple backticks ```{context}```.\
If there is no relevant information in the provided context, try to answer yourself,
but tell user that you did not have any relevant context to base your answer on.
Be concise and output the answer of size less than 80 tokens.
"""

    response = get_completion(instruction, prompt, model="gpt-3.5-turbo")
    answer = response.choices[0].message["content"]
    return answer

这种原始RAG在三个方面面临挑战:检索质量、回应生成质量和增强过程。

挑战1:检索质量

该方面的问题多方面。最主要的问题是低精度,即检索集中的文档块并不都与查询内容相关,这可能导致信息错误或不连贯。

其次是低召回率问题,即未能检索到所有相关的文档块,使得大语言模型无法获取足够的背景信息来合成答案。

此外,过时信息也是一个挑战,因为数据冗余或过时可能导致检索结果不准确。

挑战2:回应生成质量:

这方面的问题同样多样。最突出的问题是制造错误信息,即模型在缺乏足够上下文的情况下虚构答案

另一个问题是回答不相关,即模型生成的答案未能针对查询问题。

进一步来说,生成有害或偏见性回应也是一个问题。

挑战3:增强过程:

最终,增强过程面临几个重要挑战。特别重要的是,如何将检索到的文段的上下文有效融入当前的生成任务。如果处理不得当,生成的内容可能显得杂乱无章。当多个检索到的文段包含相似信息时,冗余和重复成为问题,这可能导致生成内容的重复。

此外,如何判断多个检索到的文段对生成任务的重要性或相关性非常有挑战性,增强过程需要恰当地评估每个文段的价值。检索到的内容可能具有不同的写作风格或语调,增强过程需调和这些差异,以确保最终输出的一致性。

最后,生成模型可能会过度依赖于增强信息,导致生成的内容仅是重复检索到的信息,而缺乏新的价值或综合信息

2.2、Advanced RAG 高级RAG

为了克服 Naive RAG 的局限性,高级 RAG 进行了针对性的改进。


比起 Naive RAG,增加了下面优化:

  • “Pre-Retrieval”(检索前)优化,例如:细粒度数据清洗、添加文件结构以及查询重写/澄清等。
  • “Post-Retrieval”(检索后)优化,从向量数据库检索后的优化,例如:重排序、过滤和提示压缩等。

2.3、Modular RAG 模块化RAG

高级 RAG 的实现比较复杂,因为需要额外开发很多功能,模块化 RAG 将这些功能模块解耦,并将其作为一个独立的模块,这样大大降低实现的复杂性,提升灵活性、效率、可扩展性。

具体来说,包含下面这些模块和模式:

2.3.1、Modules 新模块
  • 图中外层包括“Search 搜索”、“Predict 预测”、“Memory 记忆”、“Criticize 评估”、“Demonstrate 验证”、“Fusion 对齐” 这六个模块。
  • 内层是包括“Retrieve 检索”、“Rerank 重排序”、“Rewrite 重写”和“Read 阅读”过程的RAG(检索增强生成)模块。
2.3.2、Patterns 新模式

涉及多种信息处理流程,这些显示了系统处理信息并响应用户查询的不同路径。

  • Navie RAG : Retrieve 检索 → Read 阅读
  • Advanced RAG : Rewrite 重写 → Retrieve 检索 → Rerank 重排序 → Read 阅读
  • DSP : Demonstrate 验证 → Search 搜索 → Predict 预测
  • ITER - RETGEN : Retrieve 检索 → Read 阅读 → Retrieve 检索 → Read 阅读

三、Fine-tuning 微调

比RAG更复杂的就是微调了,微调方法是为了提高模型在特定任务上的表现,根据关注的焦点不同,分三种:

  • 检索器微调专注于改进信息查找过程,
  • 生成器微调专注于改进输出的质量,
  • 协同微调则旨在优化这两个组件之间的协作。

3.1、Retriever Fine-tuning(检索器微调)

检索器是指模型中用来从大量数据中检索信息的部分,通常用于处理需要查找和利用外部知识的任务,如问答系统。

微调检索器就是对这部分模型进行特殊训练,使其更擅长从数据集中找到相关信息。

举个例子,就像在图书馆中训练一个图书管理员,使其更快地找到你需要的书。

3.2、Generator Fine-tuning(生成器微调):

生成器是模型中负责产生响应或输出的部分,如文本生成模型中创建新文本的部分。

微调生成器意味着特别训练这个部分,使其在产生输出时更准确、更符合目标任务的要求。

例如,如果你想让模型写诗,你会特别训练它理解和使用诗歌的结构和韵律。

3.3、Collaborative Fine-tuning(协同微调)

这是一种更复杂的微调方法,涉及到模型中的检索器和生成器同时被调整,以更好地协同工作完成任务。

在协同微调过程中,检索器和生成器相互学习,以提高整体性能。检索器提供的信息可以帮助生成器产生更准确的输出,而生成器的需求可以引导检索器寻找更相关的信息。

可以想象成一个团队工作的情况,团队中的每个成员(检索器和生成器)都在相互学习,以更好地协作完成任务。

四、总结

大型语言模型(如GPT、LLama、Gemini)在准确性、知识更新速度和答案透明度方面存在挑战,常用的解决优化方法:Prompt Engineering(提示词工程)、Retrieval-Augmented Generation(RAG,检索增强生成)和Fine-tuning(微调)。每种方法都有不同的层次和特点。

Prompt Engineering:通过使用标准提示词、Few-shot提示词和XoT提示词(如CoT和ToT),来提高模型的回答精准度。

RAG:模型首先从文档库中寻找相关信息,然后使用这些信息来生成回答或文本。RAG分为三种类型:

  • Naive RAG:添加相关上下文。
  • Advanced RAG:在索引/检索前后进行优化。
  • Modular RAG:组合多种模块。

Fine-tuning:涉及检索器微调、生成器微调和协同微调,旨在提高模型在特定任务上的表现。检索器微调专注于改进信息查找过程,生成器微调专注于改进输出质量,协同微调则优化这两个组件间的协作。

如何系统的去学习大模型LLM ?

大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业?”“谁的饭碗又将不保了?”等问题热议不断。

事实上,抢你饭碗的不是AI,而是会利用AI的人。

科大讯飞、阿里、华为等巨头公司发布AI产品后,很多中小企业也陆续进场!超高年薪,挖掘AI大模型人才! 如今大厂老板们,也更倾向于会AI的人,普通程序员,还有应对的机会吗?

与其焦虑……

不如成为「掌握AI工具的技术人」,毕竟AI时代,谁先尝试,谁就能占得先机!

但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高。

针对所有自学遇到困难的同学们,我帮大家系统梳理大模型学习脉络,将这份 LLM大模型资料 分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

👉CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)👈

一、LLM大模型经典书籍

AI大模型已经成为了当今科技领域的一大热点,那以下这些大模型书籍就是非常不错的学习资源。

在这里插入图片描述

二、640套LLM大模型报告合集

这套包含640份报告的合集,涵盖了大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。(几乎涵盖所有行业)

在这里插入图片描述

三、LLM大模型系列视频教程

在这里插入图片描述

四、LLM大模型开源教程(LLaLA/Meta/chatglm/chatgpt)

在这里插入图片描述

LLM大模型学习路线

阶段1:AI大模型时代的基础理解

  • 目标:了解AI大模型的基本概念、发展历程和核心原理。

  • 内容

    • L1.1 人工智能简述与大模型起源
    • L1.2 大模型与通用人工智能
    • L1.3 GPT模型的发展历程
    • L1.4 模型工程
    • L1.4.1 知识大模型
    • L1.4.2 生产大模型
    • L1.4.3 模型工程方法论
    • L1.4.4 模型工程实践
    • L1.5 GPT应用案例

阶段2:AI大模型API应用开发工程

  • 目标:掌握AI大模型API的使用和开发,以及相关的编程技能。

  • 内容

    • L2.1 API接口
    • L2.1.1 OpenAI API接口
    • L2.1.2 Python接口接入
    • L2.1.3 BOT工具类框架
    • L2.1.4 代码示例
    • L2.2 Prompt框架
    • L2.3 流水线工程
    • L2.4 总结与展望

阶段3:AI大模型应用架构实践

  • 目标:深入理解AI大模型的应用架构,并能够进行私有化部署。

  • 内容

    • L3.1 Agent模型框架
    • L3.2 MetaGPT
    • L3.3 ChatGLM
    • L3.4 LLAMA
    • L3.5 其他大模型介绍

阶段4:AI大模型私有化部署

  • 目标:掌握多种AI大模型的私有化部署,包括多模态和特定领域模型。

  • 内容

    • L4.1 模型私有化部署概述
    • L4.2 模型私有化部署的关键技术
    • L4.3 模型私有化部署的实施步骤
    • L4.4 模型私有化部署的应用场景

这份 LLM大模型资料 包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

👉CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)👈

<think>好的,我现在需要帮用户找到关于AI大模型全栈开发工程师的简历模板或示例,特别是技能关键词部分。首先,我要回顾用户之前的问题和之前的回答,看看有没有相关的信息可以引用。用户之前提到过关于盘古气象大模型的调用和可视化,还有全栈开发需要的技能,比如Python、框架使用、数据处理等。 用户现在需要的是简历模板和技能关键词,所以我应该围绕这两个方面展开。首先,简历结构通常包括个人信息、职业目标、技术技能、项目经验、教育背景、证书与培训、附加信息等部分。对于技术技能,需要列出相关的编程语言、框架、工具,以及大模型相关的技能,比如微调、部署、数据处理等。项目经验部分需要突出具体的AI项目,展示实际应用能力。 接下来,技能关键词部分尤为重要,用户可能希望这些关键词能符合岗位要求,提高简历的匹配度。根据之前的引用内容,比如引用[1]提到的Fine-tuning、LangChain开发框架,引用[3]中的Python、xarray、matplotlib,这些都是相关的技能。需要将这些技术点分类整理,比如编程语言、大模型技术、数据处理工具、云平台等。 另外,用户可能希望看到具体的示例,这样更容易理解如何组织内容。所以,给出一个简短的示例模板会很有帮助,包括各个部分的结构和内容。同时,需要提醒用户根据自身情况调整,强调量化成果和项目细节的重要性。 还要考虑用户可能的深层需求,比如如何突出自己的优势,如何将项目经验与岗位需求匹配。可能需要建议用户在项目描述中使用STAR法则(情境、任务、行动、结果),并量化成果,比如提升效率百分比、处理数据量等。 最后,生成相关问题,帮助用户进一步优化简历,比如如何展示项目、如何匹配岗位JD、是否需要证书等。这些问题可以引导用户进一步思考和优化他们的简历。</think>根据当前AI大模型开发岗位需求,整理AI大模型全栈开发工程师简历模板框架及核心技能关键词: --- ### **简历模板示例** #### **基本信息** - 姓名 | 联系方式 | 技术博客/GitHub | 求职意向:AI大模型全栈开发工程师 #### **技术技能** - **编程语言**:Python(PyTorch/TensorFlow)、Java/Scala、SQL - **大模型技术**:HuggingFace Transformers、LangChain开发框架、LoRA/P-Tuning微调技术、模型蒸馏量化 - **数据处理**:Prompt工程、数据清洗(Pandas/Spark)、分布式训练(DeepSpeed/Megatron-LM) - **云平台**:AWS/Azure GPU集群部署、Docker/K8s容器化、CUDA加速优化 - **全栈能力**:FastAPI/Django后端开发、Vue/React前端交互、数据库优化(MySQL/Redis) #### **项目经验**(按STAR法则描述) **项目名称**:气象预测大模型系统开发(参考盘古模型应用[^3]) - 情境:基于ERA5气象数据构建预测系统 - 任务:完成数据预处理到模型部署全流程 - 行动:使用xarray处理NetCDF数据,实现多GPU并行训练,开发可视化界面(Matplotlib+PyQt) - 结果:预测准确率提升18%,响应速度<2s/query **项目名称**:行业知识库微调解决方案 - 情境:为金融客户定制领域大模型 - 任务:实现非结构化数据处理和模型轻量化 - 行动:采用LangChain构建RAG系统,使用QLoRA微调Llama2-13B - 结果:GPU显存消耗降低40%,问答准确率达91% #### **附加信息** - 证书:AWS机器学习专项认证、NVIDIA CUDA编程认证 - 技术社区:Kaggle竞赛Top10%、开源项目贡献者 --- ### **技能关键词清单**(按技术栈分类) | 类别 | 关键词示例(建议组合使用) | |----------------|--------------------------------------------------------------------------------------| | 核心能力 | 大模型微调(Fine-tuning)、提示工程、RAG系统、模型压缩(Pruning/Quantization) | | 开发框架 | LangChain/LlamaIndex、PyTorch Lightning、HuggingFace Transformers、ONNX Runtime | | 数据处理 | 数据蒸馏(Data Distillation)、特征工程、分布式训练(DDP/FSDP)、向量数据库(Milvus/Pinecone) | | 工程化能力 | Triton推理服务、模型监控(Prometheus/Grafana)、CI/CD流水线设计、RESTful API开发 | | 行业应用 | 智能客服、知识图谱构建、AIGC内容生成、时序预测(参考气象模型应用[^3]) | --- ### **优化建议** 1. **岗位JD匹配**:根据目标企业调整关键词密度(如金融领域突出RAG和知识图谱经验) 2. **成果量化**:显存占用降低XX%、吞吐量提升XX%、标注成本下降XX%等具体指标 3. **技术深度**:区分"熟悉"(项目应用过)和"掌握"(能独立实现)的技术层级 4. **生态意识**:体现对大模型安全、可解释性、伦理问题的理解(参考AI开发规范[^1]) ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值