Git Product home page Git Product logo

llm_reviewer's Introduction

先写结论

  • 2023-04-18: 其实众多微调方法或框架使用技术都类似,且有一半小羊驼模型都微调自LLaMA,决定模型质量的因素主要是数据量、数据质量、算力成本,如果要制作自己专业领域的羊驼模型,个人认为应以LLaMA作为预训练模型,收集尽可能多的中英文语料(假设你的模型要部署到中文生产环境),对LLaMA做再训练,这一步如果效果不好,可以考虑用ChatYuan替代,然后用Task Tuning和专业领域数据进行微调,最后收集指令微调数据,并进行指令微调,LMFlowDeepSpeed-Chat都可以成为很好的微调框架

一些关于大语言模型的名词和实验现象

  • Scaling (Training compute, FLOPs): 代表模型的规模,等于 α * model_size * training_tokens,α为系数,model_size为模型参数量,training_tokens为数据量(1000个tokens差不多为750个词语)
  • Scaling laws: 如果你希望提升模型的表现,就必须增大Scaling (模型大小,数据大小,计算资源大小),open ai 的gpt-4技术报告显示,模型的表现与训练时间的关系是可预测的,也就是说,在模型刚开始训练时,就可以知道模型最终训练结束的表现
  • 有137种能力是大Scaling才有的,而小Scaling没有,见博客
  • few-shot prompting(few-shot prompting是指给模型的输入中加入一些与当前模型要做的任务相似的例子)在小Scaling上没有什么用,但是在大Scaling上有用
  • RLHF对小Scaling是有害的,但对大Scaling是有益的,见论文
  • The Inverse Scaling Prize提出了11种任务,这11种任务对于一般的大语言模型来说,都是随着Scaling增大,效果反而会变差的。Inverse scaling can become U-shaped发现如果使用chain-of-thought prompting(简单来说就是在给模型的提示中加入推理,让它‘分步思考’)可以使部分任务从随着Scaling变大一直变差,变为表现成U型,意思是先变差后变好

重要羊驼大模型发布时间表

  • 2023-02-24 Meta AI发布LLaMA
  • 2023-03-10 TOGETHER发布OpenChatKit
  • 2023-03-13 清华数据挖掘研究团队(THUDM)发布ChatGLM-6B
  • 2023-03-13 Stanford发布Alpaca
  • 2023-03-14 Eric J. Wang(人肉了下,发现人在Stanford,什么身份不清楚)发布Alpaca-LoRA
  • 2023-03-19 一个队伍(from UC Berkeley、CMU, Stanford, and UC San Diego)发布Vicuna
  • 2023-03-23 元语智能发布ChatYuan
  • 2023-03-25 Databricks发布Dolly
  • 2023-03-27 哈工大科大讯飞联合实验室(HFL)发布 Chinese-LLaMA-Alpaca
  • 2023-03-27 香港科技大学统计机器学习实验室(HKUST)发布 LMFlow
  • 2023-04-03 Berkeley Artificial Intelligence Research Lab (BAIR) of UC Berkeley发布Koala
  • 2023-04-06 微软研究院(Microsoft Research)发布GPT-4-LLM
  • 2023-04-12 微软发布DeepSpeed-Chat

其他的一些羊驼大模型发布时间表和信息

  • 2023-03-17 链家科技(Ke Technologies)发布BELLE,目前已发布了ChatBELLE App一个支持MacOS的APP,已发布7B模型
  • 2023-03-23 Facico(Facico是他github的名字,可以确定的是他是个**人,其他没人肉到任何信息)发布Chinese-Vicuna,使用BELLEGuanaco数据作为训练数据,开源7B、13B模型,提到之后会增加多轮对话数据
  • 2023-03-25 李煜东(人肉了下,发现是深圳大学博士生)发布Chinese-ChatLLaMA,作者找来中英平行语料、中文维基、社区互动、新闻数据、科学文献等语料再进行预训练,作者还在持续收集更多中文语料数据,语料数据都开源,且还开源了33B和65B的大模型

重要羊驼大模型简介

LLaMA

代码仓库

是否开源代码 是否开源训练数据 是否开源模型参数 训练数据大小 模型参数大小 训练设备 训练时长
是(训练代码没有开源) 1T、1T、1.4T、1.4T 7B、13B、33B、65B 65B用2048张A100 65B用时21天
  • 13B版在很多测试上优于GPT3(175B)
  • 65B版与许多当时的最优模型相比都具有竞争力,比如Chinchilla-70B和PaLM-540B
  • 核心**是说同样预算的情况下,用小模型+大量数据,可以得到比大模型+少量数据更好的效果,虽然训练时间更长

OpenChatKit

代码仓库

是否开源代码 是否开源训练数据 是否开源模型参数 训练数据大小 模型参数大小 训练设备 训练时长
43M 7B、20B 16 * A100 未知

ChatGLM-6B

代码仓库

是否开源代码 是否开源训练数据 是否开源模型参数 训练数据大小 模型参数大小 训练设备 训练时长
仅开源微调代码 1T 6B 未知 未知
  • 模型结构基于该团队自己以前发布的General Language Model (GLM)论文
  • 集成了该团队自己开发的微调方法P-Tuning v2论文,方便下游开发者针对自己的应用场景定制模型
  • 效果不太行,130B版还在开发,可持续关注

Alpaca

代码仓库

是否开源代码 是否开源训练数据 是否开源模型参数 训练数据大小 模型参数大小 训练设备 训练时长
52K 7B、13B 7B用8张A100 7B用时3小时
  • 数据来源特别有趣,是由gpt-3.5(text-davinci-003)生成的训练数据,方法改进自于论文self-instruct paper,该论文开源代码
  • 该研究提到,它获取数据的成本(gpt-3.5生成)小于500美元,云服务器成本小于100美元(对于大多数云服务器商来说)

Alpaca-LoRA

代码仓库

是否开源代码 是否开源训练数据 是否开源模型参数 训练数据大小 模型参数大小 训练设备 训练时长
是(和Alpaca训练数据相同) 52K 7B、13B、33B、65B 7B用1张RTX4090 7B用时几个小时
  • 该项目的特点是只用单卡(RTX4090)就可以微调‘小’模型,原因是使用技术low-rank adaptation (LoRA)开源代码,该技术原理大概为,冻结模型的大量参数,只让小部分参数参与微调,所以显著减小显存消耗,该项目使用的LoRA是HuggingFace的PEFT实现的版本
  • 该项目说自己的模型可与Alpaca相媲美甚至更好
  • 该项目后续更新了微软研究院的GPT4羊驼数据(LLaMA-GPT4 dataset),该数据的论文

Vicuna

代码仓库

是否开源代码 是否开源训练数据 是否开源模型参数 训练数据大小 模型参数大小 训练设备 训练时长
70k 7B、13B 8 * A100 1天
  • Vicuna也是一个在LLaMA的基础上微调过来的模型,微调方式改进自Alpaca,主要有以下不同:1.Alpaca输入的上下文长度是512,改为2048;2.调整训练损失为多轮对话,并单独计算每个聊天机器人输出的微调损失;3.有使用压缩显存的计算和减少训练成本的技术,见博客
  • 对话数据来源于ShareGPT.com,这是一个gpt用户分享自己聊天对话的网站,又一个不错的数据源
  • 作者提到他们的7B模型大概花费140美元的训练费,13B是300美元
  • 作者提到自己的13B模型已经达到了chatgpt 90%的能力水平,且和Alpaca对比生成的结果内容更丰富,结构更准确,但是和其他‘小’大模型一样,推理能力和数学能力不太行
  • 提到一个OpenAI的API moderation可以用来过滤到用户的不恰当输入
  • 提供了一个在线与大语言模型对话的demo,里面有Vicuna、Koala、Dolly、ChatGLM、Alpaca、LLaMA这几个模型

ChatYuan

代码仓库

是否开源代码 是否开源训练数据 是否开源模型参数 训练数据大小 模型参数大小 训练设备 训练时长
未知 未知 未知 未知
  • ChatYuan-large-v2应该是微调自此团队的预训练模型PromptCLUE,该预训练模型开源了代码、数据和参数(base版),数据使用1.5万亿中文token,亿级中文任务数据上完成训练,训练任务超过150+
  • 该项目开源了他的微调代码,和微调输入的数据格式,使用起来比较方便,说的技术路线改进自ChatYuan-large-v1,没有找到ChatYuan-large-v1的相关信息
  • 看了一下demo效果,感觉很不错

Dolly

代码仓库

是否开源代码 是否开源训练数据 是否开源模型参数 训练数据大小 模型参数大小 训练设备 训练时长
15k 12B 8 * A100 未知
  • Dolly是Pythia-12B经过指令微调得到的
  • 数据都是指令数据,数据源主要是wiki和Databricks的数千名员工生成的(可能数据质量高)
  • 在句法复杂的提示、编程问题、数学运算、事实错误、日期和时间、开放式问题回答、幻觉、列举特定长度的列表、文体模仿、幽默感等方面表现不佳

Chinese-LLaMA-Alpaca

代码仓库

是否开源代码 是否开源训练数据 是否开源模型参数 训练数据大小 模型参数大小 训练设备 训练时长
是(训练代码没有开源) 预训练20G,指令精调2M、3M 7B、13B 16张A100 未知
  • 在LLaMA的基础上再做预训练(Pre-training)并使用Alpaca指令精调(Instruction Fine-tuning)得来,特点是扩充了中文词表,同样使用LoRA技术
  • 开源了两个版本,一个是基于预训练的中文LLaMA大模型,另一个是经过指令精调的中文Alpaca大模型
  • 可用个人电脑cpu进行本地部署
  • 作者说LLaMA模型本身中文语料就不充分,Chinese-LLaMA-Alpaca的训练数据量少,且训练时长不够,存在中文训练不充分的问题
  • 提到并使用一个中文语料库

LMFlow

代码仓库

是否开源代码 是否开源训练数据 是否开源模型参数 训练数据大小 模型参数大小 训练设备 训练时长
未知 作者训练的都是LLaMA羊驼:7B、13B、33B、65B 未知 未知
  • 该项目是一个高效、便利的微调框架,支持所有HuggingFace中的decoder models(比如LLaMA、T5、Glactica、GPT-2、ChatGLM),同样使用LoRA技术
  • 提供了作者训练并部署到线上的LLaMA羊驼模型给人免费试用
  • 目前支持三种微调方式Task Tuning(加强模型在专业领域,比如医疗,上的表现)、Instruction Tuning(就是指令精调,让模型学会遵循命令行事,我们常说的利用提示语prompt调教模型就是用指令精调得到的功能),Parameter-Efficient Tuning(就是HuggingFace的PEFT)
  • 作者运用Task Tuning(enhance a language model’s proficiency in a particular field)训练出来的LLaMA羊驼模型和ChatGPT、InstructGPT-175B等模型在医疗领域比了比,效果确实不错,并在MMLU(Massive Multitask Language Understanding)上测试了一下,发现在非领域知识回答上性能也没有太多下降

Koala

代码仓库

数据处理代码仓库

是否开源代码 是否开源训练数据 是否开源模型参数 训练数据大小 模型参数大小 训练设备 训练时长
是(用的都是开源数据) 未知 7B、13B 8 * A100 6小时
  • 首先Koala是基于EasyLM框架实现的(一个集成大语言模型的预训练、微调、验证功能的框架,且支持数百个显卡加速),Koala相当于是利用该框架和一些数据微调LLaMA得出来的模型
  • 数据来自多种渠道,详见博客的Datasets and Training章节

GPT-4-LLM

代码仓库

是否开源代码 是否开源训练数据 是否开源模型参数 训练数据大小 模型参数大小 训练设备 训练时长
未知 未知 未知 未知
  • 微软研究院发布的小羊驼模型,目前只开源了数据,数据是中英双语的,持续关注中
  • 除了使用self-instruct tuning训练了一个小羊驼,还生成了一些比较数据(来自GPT3.5、4、OPT1.3B)来训练了一个打分模型(reward models),用这个打分模型去量化GPT4和小羊驼的差距

DeepSpeed-Chat

代码仓库

是否开源代码 是否开源训练数据 是否开源模型参数 训练数据大小 模型参数大小 训练设备 训练时长
未知 未知 未知 未知
  • 微软发布的微调框架,用DeepSpeed实现了论文InstructGPT中的监督微调、奖励函数模型微调、强化学习人类反馈(Reinforcement Learning Human Feedback, RLHF),作者说微软研发的DeepSpeed可以显著加速训练(可达15倍速度),并且还可以显著加速推理,做到高吞吐量和低延迟
  • 目前支持以下预训练模型:
model family size range
opt 0.1B - 66B
bloom 0.3B - 176B
gpt_neox 1.3B - 20B
gptj 1.4B - 6B
gpt_neo 0.1B - 2.7B
gpt2 0.3B - 1.5B
codegen 0.35b - 16B

正在开发对LLaMA的支持

  • 以下是他加速RLHF训练的例子:
GPU SKUs OPT-1.3B OPT-6.7B OPT-13.2B OPT-30B OPT-66B Bloom-175B
1x V100 32G 1.8 days
1x A6000 48G 1.1 days 5.6 days
1x A100 40G 15.4 hrs 3.4 days
1x A100 80G 11.7 hrs 1.7 days 4.9 days
8x A100 40G 2 hrs 5.7 hrs 10.8 hrs 1.85 days
8x A100 80G 1.4 hrs($45) 4.1 hrs ($132) 9 hrs ($290) 18 hrs ($580) 2.1 days ($1620)
64x A100 80G 31 minutes 51 minutes 1.25 hrs ($320) 4 hrs ($1024) 7.5 hrs ($1920) 20 hrs ($5120)

以上RLHF训练使用了135M tokens的数据,由6个开源数据集组成rm-staticfull-hh-rlhfsynthetic-instruct-gptj-pairwiserlhf-reward-datasetswebgpt_comparisonsSHP

数据集整理

xxx

TODO

  • 整理收集归纳中英文语料数据集,明确每个数据集的最佳用途(适合作预训练或任务微调或指令微调或RLHF等)

llm_reviewer's People

Contributors

spartanbin avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.