基于大模型的应用开发方式介绍

本文归纳了基于大模型能力开发应用的3种主流方式,对大模型应用开发的过程有基本了解,开发者可以根据自己的情况按需选用适合自己能力和业务场景的开发方式。

一. 基于API应用开发模式

通过该种方式,开发者可以快速调用大模型的API,获取大模型能力,用户基于百度智能云千帆大模型平台可快速调用包括文心大模型在内的各种大模型API,针对第三方大模型,平台还针对性地进行了中文增强、性能增强、上下文增强等优化。以下是基于该种开发方式的介绍:

开发基本步骤:

  1. 【AI端】调用API接口(几行代码/Python语言),可通过Prompt设计引入相关知识(无需修改模型的结构或参数)

  2. 【前端】写web端/移动端界面、交互(html/css/js/gradio/streamlit)

  3. 【后端】整体任务逻辑/队列、集成和调用AI端能力、返回AI端结果(C++/JAVA/PHP/GO/C#/Python...)

所需能力:无需有AI算法能力,需有前后端开发和工程落地能力

局限性:对垂直领域场景的定制能力弱

总结:AI部分难度较小,无需AI专业知识,主要开发工作在前后端和工程化落地。

二. 基于大模型的微调应用开发模式

广泛性预训练+针对性微调已经成为了当前大模型训练与落地使用的通用方式,按照微调方式,又将这种模式细分为以下2种方式:

传统Fine-tuning

使用开源预训练模型或调用微调API接口,用下游任务的高质量数据重新训练并更新模型参数,使其适用于下游应用(需要预训练模型根据下游任务调整)

主要方式:Instruct微调、LoRa微调

开发基本步骤:

  1. 【AI端】加载已经预训练好的大模型,准备和上传训练数据(与目标任务相关的数据,符合fine-tuning文件格式),训练新的Fine-tuning模型,也可以加入一些分类层等;模型封装和部署:高性能/高并发/高可用

    1. 【数据】数据获取,仿照给定数据示例构建新的数据集(字段:Prompt-Completion)
  2. 【前端】写web端/移动端界面、交互逻辑(html/css/js/gradio/streamlit)

  3. 【后端】整体任务逻辑/队列、集成和调用AI端能力、返回AI端结果(C++/JAVA/PHP/GO/C#/Python...)

所需能力:****深度学习算法原理、跨模态数据处理、模型训练、模型部署/弹性部署;前后端开发和工程落地

优势:可根据下游任务数据做定制化程度较高的产品/服务

局限性:超大规模模型finetune消耗资源较大(训练和推理部署);数据处理工程量较大,数据安全性有考验。

总结:

  1. AI部分难度较大,需懂深度学习原理,会数据处理(跨模态数据融合),会训练模型;算力资源消耗大。

  2. 难点主要在于数据工程(数据采集、清洗、对齐)和训练推理资源。

  3. 随着模型规模增大,效果提升逐渐饱和。

2.Prompt-tuning

以特定的prompt模板将下游任务的数据转成自然语言形式,用指令和答案的数据训练(给一些例子来唤醒模型)充分挖掘预训练模型本身的能力,让上游的预训练模型在尽量不需要标注数据的情况下比较好的完成下游的任务(调整下游任务以适应预训练模型)

主要方式:In-Context Learning、Instruction-tuning、Chain-of-Thought

基本步骤:

  1. 【AI端】设计预训练语言模型的任务、设计输入模板样式(Prompt Engineering)、设计label 样式及模型的输出映射到label的方式(Answer Engineering),prompt-completion-label;

    1. 【数据】标签数据准备、Verbalizer准备、prompt模板设定
  2. 【前端】写web端/移动端界面、交互逻辑

  3. 【后端】整体任务逻辑/队列、集成和调用AI端能力、返回AI端结果

所需能力:****Prompt engineering相关技巧、前后端开发和工程落地

优势:所需训练数据相比finetuning数量较少,只对Prompt部分的参数进行训练,同时保证整个预训练模型的参数固定不变,随着模型规模增大,性能提升基本呈线性增长(仅需0.01%的微调参数量)

局限性:定制化效果有限,达到企业级应用的定制化程度需在Prompt计算/生成方面做较多尝试。

总结:无需数据标注,难点在于Prompt模板设计(人工设计模板/自动学习模板),需要根据下游任务和预训练模型的特性来选择合适的模板,微调消耗的存储和运算资源相比传统finetune有所降低。

三. 基于大模型API或大模型微调+插件开发模式

基本步骤:

  1. 【AI端】调用大模型API或微调大模型

  2. 【前端】写web端/移动端界面、交互逻辑

  3. 【后端】整体任务逻辑/队列(包含插件的输入输出)、集成和调用AI端能力、返回AI端结果

  4. 以向量知识库embedding流程为例:将垂直行业的领域知识向量化并存入向量数据库——用户提问——用户问题向量化——查询向量数据库,得到TopN条匹配知识——构建Prompt,调用 API——返回回答.

所需能力:AI端能力需求较弱,对任务流程拆解的工程化思考要求较高(节点/队列流程设计、弹性部署等)

总结:AI部分难度较小,难点在于整体任务流程的工程化思考和落地。

附录:

如何准备用于微调的数据集

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,293评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,604评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,958评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,729评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,719评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,630评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,000评论 3 397
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,665评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,909评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,646评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,726评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,400评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,986评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,959评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,996评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,481评论 2 342

推荐阅读更多精彩内容