深度学习调参指南中文版
深度学习调优指南中文版
这不是官方认证的 Google 产品。
Varun Godbole † , George E. Dahl † , Justin Gilmer † , Christopher J. Shallue ‡ , Zachary Nado †
† 谷歌研究,谷歌大脑团队
‡ 哈佛大学
备注:感谢开源大佬提供中文材料
中文版地址
英文版地址
Align before Fuse:Vision and Language Representation Learning with Momentum Distillation
ALBEF 是一种大规模视觉和语言表征学习的方法,可以完成多种视觉-语言的下游任务。现有的很多 Vision-and-Language Pre-training (VLP) 方法使用一个多模态 Transformer 联合建模视觉和文本的 token,但是因为视觉特征和文本特征在输入给 Transformer 时是没对齐的,导致这个多模态 Transformer 准确地学习到图文的关联关系不是很容易。本文提出将视觉和文本的特征在喂入多模态 Transformer 之前,先做对齐,对齐的方法是通过一个对比学习的损失函数。
ALBEF 的另一个优点是也不需要目标检测的框架,同时为了从嘈杂的网络数据中进行高效的学习,ALBEF 作者还提出了一套动量蒸馏的方法辅助 ALBEF 模型的训练。ALBEF 是一种算力上比较亲民的多模态学习的框架。
论文地址: https://arxiv.org/pdf/2107.07651.pdf
背景
视觉-语言预训练 (Vision-and-Language Pre-training, VLP) 旨在从大规模图像-文本对中学习多模态表征,可以改善下游视觉和语言 ...
训个LLM:开源LLM Tokenizer比较
最近在训练LLM,发现不同tokenizer的分词结果和效率都不太一样,因此做实验探究一下,顺便把结果在这里做一个记录。
实验是使用各tokenizer在NewsCommentary的中英平行语料(各25w条)上进行处理,记录处理出的token长度以及处理时间等,结果如下:
名称
词表长度↑
中文平均长度↓
英文平均长度↓
中文处理时间↓
英文处理时间↓
LLaMA
32000
62.8
32.8
02:09
01:37
BELLE
79458
24.3
32.1
00:52
01:27
MOSS
106072
24.8
28.3
07:08
00:49
GPT4
50281
49.9
27.1
00:07
00:08
BLOOM/Z
250680
23.4
27.6
00:46
01:00
ChatGLM
130344
23.6
28.7
00:26
00:39
实验结果
LLaMA的词表长度是最短的,其在中英文的平均长度上效果都不佳,同时处理时间也较长。
BELLE的词表是在LLaMA基础上进行扩增的,通过观察可以发现,扩增的主要是中文的t ...
Learning Transferable Visual Models From Natural Language Supervision
CLIP 是由 OpenAI 提出的一种多模态神经网络,它能有效地借助自然语言的监督来学习视觉的概念。典型的视觉数据集是劳动密集型的,创建成本很高,且使用它们训练得到的标准视觉模型只擅长一项任务,导致适应新的任务并不容易。而 CLIP 在各种各样的图像上进行训练,同时依赖于互联网上大量自然语言的监督。CLIP 可以用自然语言指示进行大量的分类基准:我们只需要提供要识别的视觉类别的名称,无需再在目标基准上面进行专门的训练,这有点类似于 GPT-2 和 GPT-3 的 “Zero-Shot” 的能力。比如,CLIP 在 ImageNet-1K 上的性能与专门有监督训练的 ResNet-50 相当,但是却没有使用 1.28M 的 ImageNet-1K 训练数据集。事实上,CLIP 也可以 “Zero-Shot” 地有效转移到大多数任务上面,并且能获得与完全监督的基线相竞争的性能。
论文地址: https://arxiv.org/pdf/2103.00020.pdf
CLIP 的预训练方法
本文采取基于对比学习的高效预训练方法。作者的思路是这样的:一开始的方法是联合训练了一个处理图像的 C ...
A Survey of Large Language Models
近期,ChatGPT成为了全网热议的话题。ChatGPT是一种基于大规模语言模型技术(LLM, large language model)实现的人机对话工具。现在主流的大规模语言模型都采用Transformer网络,通过极大规模的数据进行自监督训练。但是,如何构建自监督训练数据?在基础的Transformer结构上,大家又做了哪些创新呢?为了保证训练过程高效且稳定,又有哪些黑科技呢?今天给大家介绍一篇来自人民大学的综述论文,为大家解密这些大模型的训练技巧。
论文地址: http://arxiv.org/abs/2303.18223
相关资源参考: https://github.com/RUCAIBox/LLMSurvey
训练数据的收集与处理
大规模语言模型对训练数据的规模与质量都有更高的要求。那现在的大模型都用了什么语料?这些语料都发挥着怎样的作用?如何对语料做清洗和预处理?大模型还有什么特殊的细节需要我们去处理?
数据来源
数据来源上,大规模语言模型的训练数据可以一般性语料与特殊语料。一般性语料,如网页、书籍、对话文本,占比较大,可以在各种话题上为模型提供语言知识;而特殊语料, ...
大语言模型的涌现能力:现象与解释
注1:本文整理自我在今年3 月 11 日 “中国人工智能学会”主办的「ChatGPT 及大模型专题研讨会」上《大型语言模型的涌现能力:现象与解释》的现场分享,介绍了大语言模型中的涌现现象,以及关于涌现能力背后原因的相关猜想。感谢CSDN帮助整理的文字稿。
注2:另,有人问了,既然很多自然现象也体现出涌现能力,那么大语言模型的涌现现象需要解释吗?我个人认为是需要的。毕竟,说大语言模型的某个特殊现象属于“涌现现象”,也是被个别研究提出来,未有确切证明或证据,是否它和自然现象中出现的涌现现象内在机制是类似或一样的,其实可以存疑。而且我认为大模型的这个现象,背后应该有些我们可以理解的原因。如果我们不追求现象背后的解释,仅仅把目前解释不了的现象统一归类为涌现或者其它什么概念,就此了之。那么,其实我们也可以把大模型的目前理解不了的很多现象,统一归类为这是一种“神迹”,那世界上很多事情就简单多了。另另,用Grokking解释涌现现象,尽管我把它称为”用玄学解释玄学“,但是觉得还是值得深入探索的方向,也许可以把上面的说法,优化为”用含玄量较低的玄学解释另外一个含玄量较高的玄学“。
注3:如果仔细分析的 ...
Prompts技巧工程完全指南
博客内容来自于最新书籍《The Art of Asking ChatGPT for High-Quality Answers: A complete Guide to Prompt Engineering Techniques》。本书是一本综合性的指南,目的是帮助您理解和利用各种提示技术,以便从ChatGPT中获得高质量的答案。
最新可参考: https://github.com/f/awesome-chatgpt-prompts
接下来我们将探索如何用不同的提示技术去完成不同的目的。ChatGPT 是目前最先进的、能够生成类似人类文本的语言模型。然而,了解向ChatGPT提问的正确方式,以获得我们所期望的高质量答案,是至关重要的。
这就是本书的目的:无论你是一个普通人、研究员、开发者,或者是仅仅想把ChatGPT当成自己工作的个人助理,这本书都适合你。书中使用通俗易懂的语言解释,并且辅以实例和提问技巧的公式。通过这本书,你将学会如何使用提示技巧来控制ChatGPT的输出,让其按照你的需求生成文本。
在本书中,我还提供了一些如何综合利用不同提示技巧,以达到特定目的的例子。希望这本书能 ...
从HuggingFace仓库中批量下载模型和数据
Hugging Face仓库中大模型包含文件不止一个,本文将会介绍如何使用git进行批量下载。
Hugging Face官网:https://huggingface.co
Hugging Face的基本操作:https://huggingface.co/welcome
环境配置
由于Hugging Face的部分模型和数据集在国外服务器,不使用代理比较慢,所以要先配置git代理。
代理配置
全局代理配置方式:
1git config --global https.proxy http://xxxxxx:xxxx
只对clone使用代理的配置方式:
1git clone XXX.git -c http.proxy="http://xxxxxx:xxxx"
lfs安装
如果想命令行快速下载模型,需要提前安装好git-lfs环境。Ubuntu环境安装命令如下:
1sudo apt-get install git-lfs
主要用法:
12git lfs installgit lfs clone https://huggingface.co/${userna ...
在一张 24 GB 的消费级显卡上用 RLHF 微调 20B LLMs
我们很高兴正式发布 trl 与 peft 的集成,使任何人都可以更轻松地使用强化学习进行大型语言模型 (LLM) 微调!在这篇文章中,我们解释了为什么这是现有微调方法的有竞争力的替代方案。
请注意, peft 是一种通用工具,可以应用于许多 ML 用例,但对于RLHF来说特别有趣,因为这种方法特别耗费内存!
如果你想直接深入研究代码,请直接在 TRL 的文档页面 直接查看示例脚本。
TRL 的文档页面
介绍
LLMs & RLHF
LLM 结合 RLHF (人类反馈强化学习) 似乎是构建非常强大的 AI 系统 (例如 ChatGPT) 的下一个首选方法。
使用 RLHF 训练语言模型通常包括以下三个步骤:
在特定领域或指令和人类示范语料库上微调预训练的 LLM;
收集人类标注的数据集,训练一个奖励模型;
使用 RL (例如 PPO),用此数据集和奖励模型进一步微调步骤 1 中的 LLM。
具体可详细了解OpenAI 的 ChatGPT 博文
OpenAI 的 ChatGPT 博文
基础 LLM 的选择在这里是至关重要的。在撰写本文时,可以“开箱即用”地用于许多任 ...
大语言模型BLOOM推理工具测试
BLOOM是由HuggingFace推出的大模型,其参数量达到176B(GPT-3是175B)。目前超过100B参数量且能够支持中文的开源大模型只有BLOOM和GLM-130B。由于HuggingFace是著名开源工具Transformers的开发公司,很多推理工具都会支持Transformers中的模型。
LLM(大语言模型)推理的两个问题:(1) 单张显卡无法容纳整个模型;(2) 推理速度太慢。本文初步整理了一些推理大模型的工具和代码,并简单测试了推理速度。下面是本文测试的一些背景:
目前是2023年2月
使用7B模型bloom-7b1-mt
4张3090(但在实际推理中仅使用2张3090)
依赖包的版本
transformers==4.26.0
tensor-parallel==1.0.24
deepspeed==0.7.7
bminf==2.0.1
辅助函数
12345678910111213141516171819202122232425262728# utils.pyimport numpy as npfrom time import perf_counter# per ...