本系列阅读资料来自于B站九天菜菜的大模型课堂
第一部分,需要掌握效果最好、生态最丰富、功能最齐全OpenAl发布的大模型组
第二部分,需要掌握目前中文效果最好、最具潜力、同时具备多模态功能的开源大模型一ChatGLM 6B visualGLM 6B
并不只有一个模型,而是提供了涵盖文本、代码、对话、语音、图像领域的一系列模型
语言类大模型:GPT-3、GPT-3.5、GPT-4系列模型。并且OpenAl在训练GPT-3的同时,训练了参数不同、复杂度各不相同的A、B、C、D四项大模型(基座模型),用于不同场景的应用;
图像多模态大模型:最新版为DALL·E达利)V2,是DALL·E模型的第二版训练版,能够根据描述生成图像;
语音识别模型:最新版为Whisper v2-large model,是Whispert模型的升级版,能够执行多语言语音识别以及语音翻译和语言识别;
Whisper模型是为数不多的OpenAlf的开源模型,改模型通过68万小时的多语言和多任务监督数据进行的训练,目前提供了原始论文进行方法介绍
Whispert模型可以本地部署,也可以像其他OpenAlz大模型一样通过调用API进行在线使用,并且根据官网介绍,Whisper在线模型会有额外运行速度上的优化,通过调用API进行使田效率更高(当然也雲要支付一定的费用)
文本向量化模型:Embedding?本嵌?模型,?于将?本转化为词向量,即?? 个数组(向量)来表示?个?本,该?本可以是短语、句?或者?章;
审查模型:Moderation模型,旨在检查内容是否符合 OpenAI 的使?政策。 这 些模型提供了查找以下类别内容的分类功能:仇恨、仇恨/威胁、?残、性、性/ 未成年?、暴?和暴?/图?等。
编程?模型:Codex?模型,?GitHub数?亿?代码训练?成,能够“读懂”代码,并且能够根据?然语?描述进?代码创建;
Codex最擅?Python,同时精通JavaScript、Go、Perl、PHP、Ruby、Swift、TypeScript、SQL,
甚? Shell 等??种编程语?;
该模型发布于2021年8?10?,?前代码编写功能已经合并?GPT-3.5,官?显示该模型为已弃?(deprecated)状态,意为后续不再单独维护,但并不表示OpenAI已放弃编程?模型,相反越来越多的编程功能被集成到语??模型中
?前该模型集成于Visual Studio Code、GitHub Copilot、Azure OpenAI
Service等产品中,?于提 供?动编程功能?持; ? 在models->overiew中可查看?前OpenAI模型?类;
? 地址:https://platform.openai.com/docs/models/overview
OpenAI API命名规则
? 通?模型API:如GPT-3.5-turbo,GPT-4,ada…
? 停?维护但仍可使?的API:如GPT-3.5-turbo-0301(3?1号停?维护), GPT-4-0314(3?14号停?维护)…
? ?向特定功能的微调模型API:如ada-code-search-code(基于ada微调的编程 ?模型),babbage-similarity(基于babbage微调的的?本相似度检索模型)
? 多版本编号模型API:如text-davinci-001(达芬奇?本模型1号)、textembedding-ada-002(基于ada的Embedding模型2号)…
谷歌PaLM2 Models:
四项大模型:Gecko(壁虎)、Otter(水獭)Bison(野牛)、Unicorn(独角兽),最小的Gecko模型可以在移动端运行,并计划在下一代安卓系统中集成;
Hugging Face
LMSYS组织(UC伯克利背景):通过匿名PK进?模型性能?较,同时纳?开源? 模型和在线?模型进?PK,其中GPT-4排名第?,
ChatGLM130B模型是由清华?学团队开发的?语?模型,该模型借鉴了ChatGPT 的设计思路,在千亿基座模型 GLM-130B1 中注?了代码预训练,通过有监督微调(Supervised FineTuning)等技术实现?类意图对?。2022年11 ?,斯坦福?学?模型中?对全球30个主流? 模型进?了全?位的评测,GLM-130B 是亚洲 唯??选的?模型。在与 OpenAI、?歌?脑、微软、英伟达、脸书的各?模型对?中, 评测报告显示 GLM-130B 在准确性和恶意性 指标上与 GPT-3 175B (davinci) 接近或持平。
此外,清华?学团队同时开源 ChatGLM-6B 模型。 ChatGLM-6B 是?个具有62亿参数的中英双语语?模型。通过使?与 ChatGLM(chatglm.cn)相同的技术,ChatGLM-6B 初具中?问答和对话功能,并?持在单张 2080Ti 上进?推理使?。具体来说,
ChatGLM-6B 有如下特点:
ChatGLM 6B丰富的开源?态
? 微调框架:ChatGLM 6B + P- Tuning微调,项?地址:
https://github.com/THUDM/ChatGLM-6B/blob/main/ptuning/README.md ?
微调框架:ChatGLM 6B + LoRA微调,项?地址:
https://github.com/mymusise/ChatGLM-Tuning ? 本地知识库:ChatGLM 6B +
LangChain,项?地址: https://github.com/imClumsyPanda/langchain-ChatGLM ?
多轮对话前端:ChatGLM 6B多轮对话的Web UI展示,项?地址:
https://github.com/Akegarasu/ChatGLM-webui
VisualGLM 6B :https://github.com/THUDM/VisualGLM-6B
VisualGLM-6B 是?个开源的,?持图像、中?和英?的多模态对话语?模型, 语?模型基于 ChatGLM-6B,具有 62
亿参数;图像部分通过训练 BLIP2- Qformer 构建起视觉模型与语?模型的桥梁,整体模型共78亿参数。
VisualGLM-6B 依靠来?于 CogView 数据集的30M?质量中?图?对,与300M 经过筛选的英?图?对进?预训练,中英?权重相同。该训练?式较好地将视觉信息对?到ChatGLM的语义空间;之后的微调阶段,模型在?视觉问答数据上训练,以?成符合?类偏好的答案
模型实现思路区别
Dall·E:将图像视作?种语?,将其转化为离散化的Token并进?训练,优势在 于能够?常详细的描述?张图?,但缺点在于图像的Token利?率较低,需要 1000以上的Token才能描述?张256分辨率的图;
VisualGLM:考虑到?类在认识图?的时候,往往只对少量视觉语意信息感兴趣,因此可以不?将整个图?全部离散化为图?,只将图?特征对其到预训练语?模型即可,这也是BLIP-2的视觉语?与训练?法实现策略。优势在于能够 充分语?模型,缺点在于会缺失图像部分底层信息(细节信息);
医学影像诊断?模型:XrayGLM 6B:https://github.com/WangRongsheng/XrayGLM
基于VisualGLM模型,在UI-XRay医学诊断报告数据集上进?微调?来;
报告翻译借助OpenAI GPT模型完成翻译,微调框架为LoRA;
感性理解:?模型微调指的是“喂”给模型更多信息,对模型的特定功能进? “调教” ,即通过输?特定领域的数据集,让其学习这个领域的知识,从?让?模型能够更好的完成特定领域的NLP任务,例如情感分析、命名实体识别、?本分类、对话聊天等;
核?原因还是在于需要“赋予”?模型更加定制化的功能,例如结合本地知识库进?检索、围绕特定领域问题进?问答等;
例如,VisualGLM是通?多模态?模型,但应?于医学影像判别领域,则需要代?医学影像领域的数据集来进??模型微调,从?使得模型能够更好的围绕医学影像图?进?识别;
就像机器学习模型的超参数优化,只有调整了超参数,才能让模型更佳适?于当前的数据 集
同时,?模型是可以多次进?微调,每次微调都是?次能?的调整,即我们可以在现有的、 已经具备某些特定能?的?模型基础上进?步进?微调;
自回归概念:?模型的预训练过程是采?了?种名为?回归(Autoregressive)的?法,?回归模型是?种序列模型,它在预测下?个输出时,会将之前的所有输出作为输?,然后根据统计规律、结合已经输?的样本,预测下个位置各单词出现的概率,然后输出概率最?的单词,类似于完形填空;
生成式概念:与之类似的还有?个名为?成式模型的概念,也就是GPT中的G(Generative),所谓?成式模型的预测过程和?回归模型类似,都是根据统计规律预测下个单词的概率,所不同的是,?成式模型可以根据之前的样本的概率分布?成下?个词,?成式模型预测时会存在?定的随机性;
?个经过预训练的?语?模型,就具备“?定程度的”通?能?,?只有经过微调,才能够让模型具备解决某项具体任务的能?
微调并不是大模型领域独有的概念,而是伴随着深度学习技术发展,自然诞生的一个技术分支,旨在能够有针对性的调整深度学习模型的参数(或者模型结构),从而能够使得其更佳高效的执行某些特定任务,而不用重复训练模型;
伴随着大模型技术的蓬勃发展,微调技术一跃成为大模型工程师必须要掌握的核心技术。并且,伴随着大模型技术的蓬勃发展,越来越多的微调技术也在不断涌现;
深度学习微调?法?常多,主流?法包括LoRA、Prefix Tuning、P- Tuning、Promt Tuning、
AdaLoRA等;
目前这些?法的实现均已集成?Hugging Face项?的库中,我们可以通过安装和调Hugging
Face的PEFT(?效微调)库,来快速使?这些?法; https://github.com/huggingface/peft
Hugging Face 是?家专注于?然语?处理 (NLP)技术的公司,同时也开发并维护了多个? 受欢迎的?然语?处理的开源库和?具,如
Transformers 库、ChatGLM-6B库等;
?效微调,State-of-the-art Parameter-Efficient Fine-Tuning (SOTA
PEFT),与之对应的更早期的简单的全量参数训练微调的?法(Fine- Tuning), ?效微调则是?类算?功耗?更?的?法;
基于强化学习的进阶微调?法RLHF?法
RLHF:Reinforcement Learning from Human
Feedback,即基于??反馈机制的强化学习。最早与2022年4?,由OpenAI研究团队系统总结并提出,并在GPT模型的对话类任务微调中?放异彩,被称为ChatGPT“背后的功?”;
RLHF也是?前为?常?的、最为复杂的基于强化学习的?语?模型微调?法,?前最好的端到端RLHF实现是DeepSpeedChat库,由微软开源并维护;
Github: https://github.com/microsoft/LoRA
论文地址:https://arxiv.org/abs/2106.09685
GitHub:地址:https://github.com/THUDM./P-tuning-v2
论文地址:https://aclanthology.org/2021.ac-long.353/
ChatGLM-6B+P-Tuning微调项目地址:https://github.com/THUDM/ChatGLM-6B/blob/main/ptuning/README.md