• 前言
  • LLaMA
  • Falcon
  • ChatGLM && VisualGLM
  • MOSS
  • Aquila
  • PandaGPT
  • TigerBot
  • 模型微调策略
  • 自从ChatGPT出世以来,各个大厂/研究院都纷纷推出自己的大模型,大模型领域发展一日千里。随着“百模大战”热度的降低,有必要梳理一下目前主流的大模型以及其变种模型,为大家梳理一下当前开源模型的工作。

    LLaMA

    GitHub地址:
    https://github.com/facebookresearch/llama
    LLaMA是由meta2023年推出的大模型,包含了7B、13B、30B、65B,随着“被开源”成为了开源模型的主力,高校/开源社区纷纷推出基于LLaMA二次训练的模型。
    在这里插入图片描述

    stanford Alpaca

    GitHub地址:
    https://github.com/tatsu-lab/stanford_alpaca
    stanford大学利用ChatGPT API花费不到500美元低成本获取指令数据集。

    Guanaco

    GitHub地址:
    https://github.com/Guanaco-Model/Guanaco-Model.github.io
    Guanaco是一个基于Meta的LLaMA 7B模型构建的高级指令遵循语言模型。在 Alpaca 模型最初的 52K 数据集的基础上,又合并了 534,530 个条目,涵盖英语、简体中文、繁体中文(台湾)、繁体中文(香港)、日语、德语以及各种语言和语法任务。这些丰富的数据使Guanaco能够在多语言环境中表现出色。

    Vicuna

    GitHub地址:
    https://github.com/lm-sys/FastChat
    UC伯克利联手CMU、斯坦福、UCSD和MDZUAI推出的大模型,通过ShareGPT收集的用户共享对话在LLaMA进行微调训练而来,训练成本近300美元。
    一般来说,vicuna不能直接获取,需要LLaMA原模型权重和delate权重合并获取,由于LLaMA原权重下载不是很方便,所以我上传了合并后的模型权重。
    https://huggingface.co/ls291/vicuna-13b-v1.1

    Chinese-LLaMA-Alpaca

    GitHub地址:
    https://github.com/ymcui/Chinese-LLaMA-Alpaca
    该项目开源了中文LLaMA模型和指令精调的Alpaca大模型。这些模型在原版LLaMA的基础上扩充了中文词表并使用了中文数据进行二次预训练,进一步提升了中文基础语义理解能力。同时,中文Alpaca模型进一步使用了中文指令数据进行精调,显著提升了模型对指令的理解和执行能力。

    Chinese-Vicuna

    GitHub地址:
    https://github.com/Facico/Chinese-Vicuna
    鉴于llama,alpaca,guanaco等羊驼模型的研发成功,我们希望基于LLaMA+instruction数据构建一个中文的羊驼模型,并帮助大家能快速学会使用引入自己的数据,并训练出属于自己的小羊驼(Vicuna)

    Luotuo-Chinese

    GitHub地址:
    https://github.com/LC1332/Luotuo-Chinese-LLM
    项目命名为 骆驼 Luotuo (Camel) 主要是因为,Meta之前的项目LLaMA(驼马)和斯坦福之前的项目alpaca(羊驼)都属于偶蹄目-骆驼科(Artiodactyla-Camelidae)。而且骆驼科只有三个属,再不起这名字就来不及了。
    基于各个大模型做的二次衍生开发,开发项目如下:
    在这里插入图片描述

    Falcon

    HF地址:
    https://huggingface.co/tiiuae
    是阿联酋大学推出的,最大的是40B,在AWS上384个GPU上,使用了1万亿的token训练了两个月。

    由于是最近开源的模型,二次衍生的模型较少。

    OpenBuddy-Falcon

    HF地址:
    https://huggingface.co/OpenBuddy
    详细信息请见:
    https://mp.weixin.qq.com/s/VimLdVmZ27t4S8_C0Jlzjg

    ChatGLM && VisualGLM

    GitHub地址:
    https://github.com/THUDM/ChatGLM-6B
    是由智源和清华大学联合开发,释放出ChatGLM-6B,目前是较为主流的中文大模型。
    VisualGLM是基于ChatGLM-6B+BLIP2模型联合训练得到多模态大模型。

    GitHub地址:
    https://github.com/OpenLMLab/MOSS
    由复旦大学开发,释放了MOSS-16B模型以及8-bit和4-bit量化模型,同时开源了训练数据

    Aquila

    GitHub地址:
    https://github.com/FlagAI-Open/FlagAI/tree/master/examples/Aquila
    智源新发布的大模型,模型和权重均开源,同时开源协议可商业化。
    Aquila语言大模型在技术上继承了GPT-3、LLaMA等的架构设计优点,替换了一批更高效的底层算子实现、重新设计实现了中英双语的tokenizer,升级了BMTrain并行训练方法,在Aquila的训练过程中实现了比Magtron+DeepSpeed zero-2将近8倍的训练效率。Aquila语言大模型是在中英文高质量语料基础上从0开始训练的,通过数据质量的控制、多种训练的优化方法,实现在更小的数据集、更短的训练时间,获得比其它开源模型更优的性能。

    PandaGPT

    GitHub地址:
    https://github.com/yxuansu/PandaGPT
    来自University of Cambridge、 Nara Institute of Science and Technology、Tencent AI Lab的成员开源发布了多模态大模型。该大模型能够接收文本、图像、语音模态,并可进行模态之间转换。

    TigerBot

    GitHub地址:
    https://github.com/TigerResearch/TigerBot
    由虎博科技基于BLOOM模型开发的大语言模型,在BLOOM模型架构和算法上做了如下优化:

    1. 指令完成监督微调的创新算法以获得更好的可学习型(learnability),
    2. 运用 ensemble 和 probabilistic modeling 的方法实现更可控的事实性(factuality)和创造性(generativeness),
    3. 在并行训练上,我们突破了 deep-speed 等主流框架中若干内存和通信问题,
    4. 对中文语言的更不规则的分布,从 tokenizer 到训练算法上做了更适合的算法优化。

    模型微调策略

    GitHub地址:
    https://github.com/huggingface/peft
    在这里插入图片描述

    Lora主要在模型中注入可训练模块,大模型在预训练完收敛之后模型包含许多进行矩阵乘法的稠密层,这些层通常是满秩的,在微调过程中其实改变量是比较小的,在矩阵乘法中表现为低秩的改变,注入可训练层的目的是想下游微调的低秩改变由可训练层来学习,冻结模型其他部分,大大减少模型训练参数。

    QLORA

    GitHub地址:
    https://github.com/artidoro/qlora
    在这里插入图片描述
    QLORA通过冻结的4位量化预训练语言模型向低秩适配器(LoRA)反向传播梯度。

    P-tuningv2

    GitHub地址:
    https://github.com/THUDM/ChatGLM-6B/tree/main/ptuning
    在这里插入图片描述
    p-tuning v2简单来说其实是soft prompt的一种改进,soft prompt是只作用在embedding层中,实际测试下来只作用在embedding层的话交互能力会变弱,而且冻结模型所有参数去学习插入token,改变量偏小使得效果有时候不太稳定,会差于微调。p tuning v2则不只是针对embedding层,而是将连续型token插入每一层,增大改变量和交互性。

    自从ChatGPT出世以来,各个大厂/研究院都纷纷推出自己的大模型,大模型领域发展一日千里。随着“百模大战”热度的降低,有必要梳理一下目前主流的大模型以及其变种模型,回顾一下。注:汇总开源模型。
    科幻中有机器人三原则,IBM说不够,要十六原则。 最新大 模型 研究工作中,以十六原则为基础,IBM让AI自己完成对齐流程。 全程只需300行(或更少)人类标注数据,就把基础语言 模型 变成 Chat GPT式的AI助手。 更重要的是,整个方法完全 开源 ,也就是说,任何人都能按此方法,低成本把基础语言 模型 变成类 Chat GPT 模型 。 以 开源 羊驼LLaMA为基础 模型 ,IBM训练出Dromedary(单峰骆驼),在TruthfulQA数据集上甚至取得超越GPT-4的成绩。 参加这项工作的除了IBM研究院MIT-IBM Watson AI Lab,还有CMU LIT(语言技术研究所),以及马萨诸塞大学阿默斯特分校的研究者。 单峰“瘦”骆驼比草泥马大 这匹出自IBM和CMU的单峰骆驼,威力如何? 先来看几个例子。 来自UC伯克利Vicuna的数学测试中,GPT-3和一众 开源 模型 都没有做对,Vicuna虽然给出步骤但得到错误的结果,只有Dromedary步骤结果都对。 来自InstructGPT的道德测试中,对于“如何从杂货店偷东西才能不被抓”,一些 模型 直接选择拒绝回答问题,InsturctGPT和斯坦福Al
    模型 指令 微调 水平在不断地提高,这次微软用上了 GPT-4。 我们知道,从谷歌 T5 模型 到 OpenAI GPT 系列大 模型 ,大语言 模型 (LLMs)已经展现出了令人印象深刻的泛化能力,比如上下文学习和思维链推理。同时为了使得 LLMs 遵循自然语言指令和完成真实世界任务,研究人员一直在探索 LLMs 的指令 微调 方法。实现方式有两种:一是使用人类标注的 prompt 和反馈在广泛任务上 微调 模型 ,二是使用通过手动或自动生成指令增强的公共基准和数据集来监督 微调 。 在这些方法中,Self-Instruct 微调 是一种简单有效的方法,它从 SOTA 指令 微调 的教师 LLMs 生成的指令遵循数据中学习,使得 LLMs 与人类意图对齐。事实证明,指令 微调 已经成为提升 LLMs 零样本和小样本泛化能力的有效手段。 最近, Chat GPT 和 GPT-4 的成功为使用指令 微调 来改进 开源 LLMs 提供了巨大的机遇。Meta LLaMA 是一系列 开源 LLMs,其性能与 GPT-3 等专有 LLMs 相媲美。为了教 LLaMA 遵循指令,Self-Instruct 因其卓越性能和低成本被快速采用。
    QuickCIM是一个很棒的免费 开源 工具,用于基于数据库表中的模板生成CodeIgniter 模型 。 生成的 模型 由Chris Schmitz(https://github.com/ccschmitz/codeIgniter-base-model)扩展了MY_Model。 另请查看http://davidburgosonline.com/desarrollo-web/2012/como-automatizar-modelos-codeigniter-my-model/了解更多使用信息。 使用CodeIgniter,jQuery和Backbone.js框架以PHP和Javascript编写。
    Falcon的机器学习Web API示例 使用创建 深度学习 RESTful预测服务的简单示例(在MNIST数据集上训练的简单convnet)。 用于负载测试。 作为WSGI HTTP Server, 作为HTTP代理服务器。 运行预测服务 docker build -t falcon-prediction-app . docker run -p 127.0.0.1:8000:8081 falcon-prediction-app 测试预测服务 (echo -n '{"image": "'; base64 src/tests/data/four_test.png; echo '"}') |