当前位置: 首页 > article >正文

w~大模型~合集19

 我自己的原文哦~ https://blog.51cto.com/whaosoft/12376493

#LLaMA3

ChatGPT 大火之后,在 2023 年 2 月 24 日,LLaMA 的出现让 instruction tuning 这个方向变得火热;3 月 18 日,Alpaca 让大家看到从成熟的模型 distill 小模型成为还不错的 ChatBot 的可能性,从而引发羊驼系模型寒武纪大爆发。但仅仅过去三个月,大家开始发现意识到用 ChatGPT 的数据训练 LLaMA 的各种问题。本文回顾在过去三个月内的 LLaMA 系模型的发展,讨论 Instruction Tuning 的下一步挑战。

Disclaimer: 这篇文章算是一个 quick research memo,是从我近期的一个分享大纲里 edit 出来的,做了一些删减和补充;现阶段开源社区对于 LLM 训练清楚 / 不清楚的地方同时存在,我尽量做到引用 / 讨论的内容都是有切实证据,而不是基于流言。很多的内容是我跟对应论文的原作者直接讨论过的。但即便这样,我的 take 也可能有误,很多也讨论不出来,所以请大家直接在评论区 comment,积极参与讨论,真理越辩越明。

  • InstructGPT: Training language models to follow instructions with human feedback
  • FLANv1: Finetuned Language Models Are Zero-Shot Learners
  • T0: Multitask Prompted Training Enables Zero-Shot Task Generalization

对比

  • InstructGPT 的目标是对齐,zero-shot /cross lingual 是副产物
  • 这篇文章用的 7B 的 Reward model 来对应 175B 的 Policy model,然后被 DeepSpeed Chat 以及之后一系列 RL 的开源工作 follow,这种做法应该是错的。
  • 正确的做法应该是用 Reward model scale up 换取 policy model 减小,见 [Scaling Laws for Reward Model Overoptimization](https://arxiv.org/abs/2210.10760) — 也就是说把两个模型大小换过来,用 175B 的 reward 去 PPO 7B 的 policy
  • 模型上线现阶段 10-50B 是一个比较跑得起的量级,再大太贵了
  • FLANv1 和 T0 的目标是 zero-shot,所以不对齐

然后是 Self-instruct

  • Self-Instruct: Aligning Language Models with Self-Generated Instructions

注意 self-instruct 的重点

  • Base model 可以是任意,不需要是经过了 alignment 之后的模型 (ChatGPT)
  • 复现了从初代 davinci 到 text-davinci-001 的过程 — 非常 insightful!!

然后是 FLANv2 — 很重要,我可能读了十遍以上,建议背诵全文

  • Scaling Instruction-Finetuned Language Models
  • 效果除了不加 human preference 之外其他都加,等下专门讨论
  • Human preference 确实是喜欢能说的,但是能说的模型不一定能干活。Flan 能干活,但是不能说,跟程序员一样

LLaMA 出现之后

  • Alpaca:起始文章,但是模型本身强度并不多高
  • Vicuna
  • 在开源中只做对话强度不错,格式符合人类喜好,生成内容多,unique token 多
  • Automatic eval 中,可能 in-context learning /reasoning/knowledge suboptimal (体现在 MMLU,BBH 分数),不是说它不行,而是说它可以更好
  • GPT-4 eval 到底行不行还不好说,LMSys 团队自己说行,前提是 prompt engineering 做得足够到位:Judging LLM-as-a-judge with MT-Bench and Chatbot Arena
  • 另外 LMSys 的团队在 efficiency 方面非常强,模型的 serve 看 [vllm](https://github.com/vllm-project/vllm) 这个 project,或许是开源最快的
  • 然后一系列以 GPT-4 做 judge 然后号称自己达到了 GPT3.5 x% 水准的模型,全部不推荐,因为 Eval 不可靠
  • 但是存在几篇工作在 alignment 的时候没有依赖 ChatGPT,这些工作推荐,它们包括
  • LIMA: Less Is More for Alignment — 关注他们选数据的方法,推荐花一个小时的时间把他们的 [数据](https://huggingface.co/datasets/GAIR/lima) 有感情地朗读一遍,这样就知道什么样的 SFT 的数据是好数据了
  • Dromedary: Principle-Driven Self-Alignment of Language Models from Scratch with Minimal Human Supervision — 关注他们 prompt engineering 的方法,这个基本上是一个 LLaMA 版的 Constitutional AI - SFT
  • 然后是一些 paper (终于) 开始分析 instruction tuning 的 data mixture
  • Tulu: How Far Can Camels Go? Exploring the State of Instruction Tuning on Open Resources
  • 结果非常 mix,没办法下结论哪种 mixture 好
  • 但是知道哪种不好:NLP benchmark

Eval 怎么做

首先,不要在一堆 benchmark 上算分数看平均,特别是不要在 GPT-3 的测试任务上看平均,因为平均下来大家都一样;推荐只看核心的有区分度的 benchmark

没有区分度的例子:

  • LM-Eval-Harness(https://github.com/EleutherAI/lm-evaluation-harness) ,benchmark 太多,平均下来掩盖优质 benchmark
  • 这里面其实涵盖了 MMLU 和 MATH,但是被其他数据集平均了
  • Summarization + Rouge / Translation + BLEU:
  • Rouge 和 BLEU 模型强弱只有四五分的差别,数字太小 v.s. accuracy 下模型强弱是 90 分和 10 分的差别,数字足够大
  • Rouge 和 BLEU 和人类偏好不 align — 注意 BLEU 也不完全 align

那么 Pretrain 建议看哪些呢?

  • 区分度,模型强弱需要能一眼看出
  • 分方向,现阶段可以暂时分成
  • 英文知识 — MMLU
  • 中文知识 — C-Eval
  • 推理 — GSM8k / BBH
  • 代码 — HumanEval / MBPP
  • 解决上面四项平衡之后,可以接着做
  • MATH:高难度 reasoning
  • Dialog:这个可能只有 human eval 才行,automatic eval 搞不定

接下来讲 Automatic Eval 

Automatic Eval - 适合 pretrained checkpoint - 基本上可以看  https://github.com/FranxYao/chain-of-thought-hub 的做法

  • Knowledge: MMLU
  •  这个数据集很稳定,基本上没有 sensitivity issue
  • Reasoning:
  • GSM8k: 也比较稳定,但要注意答案提取函数的提出率,低于九十的话得多加 regular expression
  • BBH - Algorithmic:
  • 不是很稳定,需要注意答案提出率
  • BBH - Language:
  • 不是很稳定,需要注意答案提出率 — Chain-of-thought Hub 马上会出一个答案提出率对于结果的 sensitivity 的分析,结论是 BBH 比较 sensitive
  • 现在除了增大模型之外,还不清楚哪些操作可以增加 BBH 数据集上的分数
  • Coding:
  • Human Eval / MBPP: 似乎比较稳定但需要注意做 unbiased estimation
  • 先看上面的几个数据集,分数能够 match llama 之后,就看 MATH
  • MATH
  • 超级难,GPT-4 的分数
  • naive prompting: 42
  • → complexity based prompting: 50 https://openreview.net/forum?id=yf1icZHC-l9
  • → progressive hint prompting: 53 https://arxiv.org/abs/2304.09797
  • → majority voting over 18k: 69.6
  • → best of n with outcome based reward modeling: 72.4
  • → best of n with [process-based reward modeling](https://arxiv.org/abs/2305.20050): 78.2
  • → PPO + process-based reward modeling = ? 推测会上 90
  • 泛化?— 应该是比较强的,泛化一般而言跟基础模型大小正相关,跟 SFT 数据总量负相关,跟 SFT 数据丰富度正相关
  • 如果不是 GPT-4
  • Minerva / PaLM-2: 34.3
  • Galactica: 33.6 — 这篇文章操作很好,因为 Hallucination 被喷下架导致重要性被严重低估
  • 88B paper + 7B code + 7B encyclopedias, textbooks and educational material + 2B KB + 1B CC + 0.4B prompt /instruction * 4 epochs
  • LLaMA 65B: 10.6
  • 其他:低于 10 分

对于一个已经 finetune 成了 chatbot 的模型

  • 首先把上述 benchmark 用 few-shot 的方式过一遍,确保不要掉点
  • 如果只是 dialog finetuning 的话可能会伤已有的能力 (MMLU / BBH)
  • 如果掉点,则考虑 LM mixing / FLANv2 mixing
  • 注意 Chatbot 的 few-shot prompting 要用 dialog 的版本因为 single round 里塞很多 in-context example 模型可能不 instruction-following 不够强,见 CoT Hub 的 standard prompt library(https://github.com/FranxYao/chain-of-thought-hub/blob/main/spl/gsm8k/chat/few_shot_cot.chatml)
  • 然后就是去 eval 用户偏好了,这个时候只能人做
  • 如果有很大的,已经训练好了的 reward model,可以用它 eval 上线的小型 / 中等模型,这个其实跟人做 eval 区别不大
  • 对于一个很大的 Policy Model
  • Online iterative RLHF 前期怎样都需要需要 expert eval
  • 后期需要 expert eval [with AI assistance](https://arxiv.org/abs/2206.05802)

那么能不能用稍微弱一点的模型做 eval 呢?— 可以用,但是注意 query 的难度和分布,注意 prompt engineering

  • 如果不经过 prompt engineering ,肯定不行,因为各种 bias
  • 如果 query 难度不够,diversity 不够,也不一定行
  • 如果 query 难度足够 + 经过了疯狂 prompt engineering,则对于 information seeking 类型的 eval ,或许可以,see https://arxiv.org/abs/2306.05685
  • 但是对于 reasoning 相关,non-information seeking 相关(比如 TLDR),又不一定行
  • 对于 information seeking 相关的 query 会 biased 到长的回复

回复越长,GPT-4 越喜欢,分越高

FLANv2 的效果,Long-Context

FLANv2 是一个很神奇的数据集,它除了不加 user preference 之外什么都加

  • 注意 CoT prompting
  • 只在 62B 之后才会比 Direct 更好
  • 不加 knowledge (MMLU) 只加 reasoning (BBH)
  • FLANv2 增加的效果有
  •  knowledge (MMLU)
  • reasoning (BBH)
  • Multilingual (TyDiQA / MGSM)
  •  注意 FLAN 的作者们验证过,没有数据泄露
  • 注意以上内容对 in-context learning 和 zero-shot 均成立
  • 但是 FLAN 的回复短,所以不加 user preference — Flan 的性格就像直男,能干活儿,话太少

注意区分数据泄漏和分布内泛化

  • 如果一个数据集的测试集被用来训练模型,叫做数据泄漏,此时模型的分数会特别高,不可信
  • 如果一个数据集的训练集被用来训练模型,叫做分布内泛化,此时模型的分数是可信的
  • 有些数据集分布内泛化的难度不高,比如 MMLU / C-Eval,基本上做 data scaling 就可以加分
  • 有些数据集,如果模型不强,即使看过了训练集,模型在测试集上也做不好,比如 GSM8K — 这种类型的数据集是优质 eval 数据集
  • 代码的难度可能介于 MMLU 和 GSM8k 之间,分布内泛化不像 GSM8K 那么难,但也不简单

然后根据最近Zero-Scrolls 上的数据(https://www.zero.scrolls-benchmark.com/leaderboard),FLAN 还可以加 Long-context Reasoning ,不知道为什么

注意这里 FlanT5 和 T0pp 只有 instruction 的数据集有区别,但是 FlanT5 仅靠 T5 的 relative positional encoding 来 naively scale 到 8k 的 context length 会显著高于 T0

Long Context 或许 data engineering 跟 neural architecture engineering 同样重要

代码

两篇文章的 data engineering 非常出色

  • WizardCoder: Empowering Code Large Language Models with Evol-Instruct
  • 通过不断 prompt AlpacaCoder 构造 instruction tuning 数据集,基于wizardlm的方法,使用了 chatgpt 来生成复杂指令和对应的回答
  • HumanEval,DS-1000 仅次于 GPT-4,超过 Claude / Bard
  • base model 用的是 StarCoder,这意味着 The Stack V3 的质量再次得到验证,同时注意 pretrain code data 可以过多个 epoch 但网页只过一个 epoch
  • Phi-1: Textbooks Are All You Need
  • Pretrain 数据集来源于 filtered code + prompt ChatGPT
  • Instruction tuning 的数据集来自于 prompt ChatGPT
  • base model 只有 1B

怎么评价

  • 一定要好好研究他们是如何 prompt base model 的 — 要对 base model 有信心,只要 MMLU / BBH / HumanEval 分高,它的潜力就超过你的想象
  • prompt 出来的数据集相当于给 HumanEval / MBPP 这种比较短的算法题搞了一个超大训练集
  • 但是不可以认为它对着测试集优化,因为它泛化的空间应该大于 HumanEval / MBPP — 这个泛化空间跟 model scale 显著正相关
  • 在此基础上,比较难的点是
  • Repo-level code understanding /completion — HumanEval / MBPP 还是有点短
  • Ability balance — 如果照着 Phi-1 的做法,除了代码之外的其他能力都会被冲掉

另外关于代码和文本的 data mixture: https://arxiv.org/abs/2305.16264

Continue training 时使用 50% 的代码作为 data mixture 不会伤模型 language 的能力,反而会提升 coding 和 reasoning 

Putting them together: 能力平衡

目标:

  • 构造一个 instruction tuning data mixture,使得 dialog /coding 增加
  • 同时 MMLU (English knowledge) / C-Eval (Chinese knowledge) / BBH and GSM8K (reasoning) 不掉点
  • In-context learning 不掉点

思路

  • 可以用 FLAN 打底 — 它非常大几乎相当于 continue training
    考虑做一个中文版的 FLAN — 最近智源发的COIG-PC(https://huggingface.co/datasets/BAAI/COIG-PC) 似乎有点像
  • code 的部分参照 WizardCoder 和 Phi-1 的做法  
  • 以上数据做好之后,搜 instruction tuning 的 data mixture and data curriculum 的超参数
  • 用上面提到的方法做 Eval   

总结

  • 现阶段 instruction tuning 核心问题是能力平衡
  • 基础能力的 Eval 可以参照 Chain-of-thought Hub,但 dialog 还是得人来,且人也不一定 eval 得足够好
  • FLAN 非常神奇,可以考虑做一个中文版
  • 抓紧把 instruction tuning 收尾,快点进到 reward modeling 阶段
  • 注意要先把 reward modeling 本身做好,确保 reward model 有判断力,再去做 PPO
  • 不要 reward model 还没搞清楚就上 PPO ,步子迈太大容易扯到

#GLM-4开源版

GLM-4开源版本终于来了:超越Llama3,多模态比肩GPT4V,MaaS平台也大升级 ,最新版本大模型,6 分钱 100 万 Token。

今天上午,在 AI 开放日上,备受关注的大模型公司智谱 AI 公布了一系列行业落地数字:

根据最新的统计数据,智谱 AI 大模型开放平台目前已经获得 30 万注册用户,日均调用量达到 400 亿 Tokens,其中,过去 6 个月 API 每日消费量增长达 50 倍以上,性能最强的 GLM-4 模型在过去 4 个月中有超过 90 倍的增长。

在近清言 App 中,已有超过 30 万个智能体活跃在智能体中心,包括许多出色的生产力工具,如思维导图、文档助手、日程安排等等。

而在新技术一侧,GLM-4 的最新版本 GLM-4-9B 全方位超越 Llama 3 8B,多模态模型 GLM-4V-9B 也已上线,所有大模型全部保持开源。

一系列商业化成果、技术突破让人眼前一亮。

MaaS 平台升级 2.0 版

打下大模型应用门槛 

最近,国产大模型正在掀起新一轮的竞争。

5 月初,智谱 AI 率先将大模型 GLM-3-Turbo 服务的价格降低到了原来的 1/5,也激起了众多大模型领域玩家「参战」。从争相成立创业公司、「百模大战」再到价格战,大模型赛道的竞争螺旋攀升。

而降低大模型服务的成本,能够让更多的企业和开发者获得新技术,进而催生足够大的使用量,这不仅能加速技术的突破,也能让大模型在各行各业快速渗透,铺开商业化的布局。

值得一提的是,到了目前的节点,大模型的价格已被压的很低,但智谱表示自己不怕打价格战

「相信大家对于最近的大模型价格战有所了解,也很关心智谱的商业化策略。我们可以很自豪地说,我们是通过模型核心技术迭代和效率提升,通过技术创新,实现应用成本的持续降低,同时保证了客户价值的持续升级,」智谱 AI CEO 张鹏说道。

根据企业的不同应用规模,智谱宣布了一系列最新的调整价格。API 最高折扣达到 6 折,使用 GLM-4-9B 版本可以只需要 6 分钱 / 100 万 token。回想去年年初,GLM 系列大模型的价格已经降低了 1 万倍。

作为率先投入生成式 AI 的创业公司,智谱 AI 的商业化速度快过一众竞争对手。基于千亿级多模态预训练模型构建产品矩阵。其面向 C 端推出了 GLMs 个性化智能体定制工具,让用户用简单提示词指令即能创建属于自己的 GLM 智能体,无需编程基础。面向 B 端客户,最新一代的 GLM-4 大模型已登陆了 MaaS(Model as a Service)平台,提供 API 形式的访问。

在今天的 Open Day 上,智谱推出了 MaaS 开放平台 2.0,在新模型、成本、安全等方面都实现了提升。

在活动中,智谱 AI 介绍了其开放平台的最新进展。升级的模型微调平台可以帮助企业大幅简化构建私有模型的过程。现在,全系列的 GLM-4 大模型都支持仅需三步即可部署。

对于技术落地来说,模型工具只是一小步。智谱 CEO 张鹏一直认为,大模型存在三个模型层,分别是 L0(基础模型)、L1(行业模型)和 L2(面向细分场景的推理模型)。这是一个层层递进的关系,智谱要做的就是尽全力做好 L0,再去帮助合作伙伴做好 L1 和 L2。

智谱 AI 以 MaaS 平台为主的商业化落地路径,针对不同客群类型和需求提供云端 API、云端私有化、本地私有化、软硬件结合一体机等不同的解决方案,在满足企业需求的同时也实现了「模型及服务」的规模化。

GLM-4 9B 全面超越 Llama3

多模态比肩 GPT-4V,开源免费

对于将构建 AGI 视为目标的智谱 AI 而言,不断迭代大模型技术能力,同样是重中之重。

自 2020 年 all In 大模型开始,智谱就一直走在人工智能浪潮的前沿。其研究涉及大模型技术的方方面面,从原创的预训练框架 GLM、国产算力适配、通用基座大模型,到语义推理、多模态生成,再到长上下文、视觉理解、Agent 智能体能力等各个方面,智谱都投入了相当多的资源来推动技术的原始创新。

在过去一年里,智谱相继推出了四代通用大模型:2023 年 3 月发布 ChatGLM,6 月推出 ChatGLM2,去年 10 月推出 ChatGLM3;今年 1 月,最新一代基座大模型 GLM-4 正式发布。在 Open Day 上,智谱 AI 向外界介绍了基座大模型 GLM-4 的最新开源成果 ——GLM-4-9B。

它是最新一代预训练模型 GLM-4 系列中的开源版本。GLM-4-9B 拥有更强的基础能力,更长的上下文,实现了更加精准的函数调用和 All Tools 能力,并首次拥有多模态能力。

基于强大的预训练基座,GLM-4-9B 的中英文综合性能相比 ChatGLM3-6B 提升了 40%,在中文对齐能力 AlignBench、指令遵从 IFeval、工程代码 Natural Code Bench 等基准数据上都取得了非常显著的提升。对比训练量更大的 Llama 3 8B 也并不逊色,英文方面实现小幅领先,中文学科方面更是有着高达 50% 的提升。

新模型的上下文长度从 128K 扩展到了 1M,意味着模型能同时处理 200 万字输入,相当于两本红楼梦或者 125 篇论文。在长度为 128K 的 LongBench-Chat 上,GLM-4-9B-Chat 模型相比上一代提升了 20%。在长度为 1M 的大海捞针测试中,GLM-4-9B-Chat-1M 也获得了全绿的好成绩。

新一代的大模型还提升了对多语言的支持。模型词表从 6 万升级到了 15 万,在中英文之外的语言编码效率平均提升了 30%,意味着模型可以更快处理小语种的任务。评测显示,ChatGLM-4-9B 模型的多语言能力全面超过了 Llama-3 8B。

在支持消费级显卡本地运行的情况下,GLM-4-9B 不仅展示出了强大的对话能力,支持 100 万长文本,覆盖多语言,更重要的是:智谱发布的大模型完全免费且开源。现在,每个开发者都能在本地跑通这个版本的 GLM-4 模型。

GitHub 链接:https://github.com/THUDM/GLM-4

模型:huggingface:https://huggingface.co/collections/THUDM/glm-4-665fcf188c414b03c2f7e3b7

魔搭社区:https://modelscope.cn/organization/ZhipuAI

在强大的文本模型之外,智谱 AI 同时开源了基于 GLM-4-9B 的多模态模型 GLM-4V-9B。通过加入 Vision Transformer,该模型仅以 13B 的参数量实现了比肩 GPT-4V 的能力。 

在技术演进的同时,大模型的价格也在不断降低。智谱推出了 GLM-4-AIR 模型,它在基本保留 1 月 GLM-4 大模型性能的基础上价格大幅下调,达到 1 元 / 百万 tokens。

GLM-4-Air 的性能可以媲美 GLM-4-0116 大模型,价格仅为后者的 1/100。值得一提的是,GLM-4-Air 的 API 大幅提升了推理速度,相比 GLM-4-0116,GLM-4-Air 的推理速度提升了 200%,每秒可以输出 71 个 token,远远超过人眼的阅读速度。

智谱表示,大模型价格调整是基于技术突破、算力效率提升和成本控制的综合结果,未来每隔一段时间就会对价格做出调整,以更好的满足开发者、客户的需求,极具竞争力的价格不仅是合理的,而且也符合自身的商业策略。 

生态建设步入下一个 Level

作为国内最早入局大模型赛道的创业公司之一,智谱 AI 现在已成为国内 AI 技术公司的代表。

它不仅是国产大模型技术的领军者,也是大模型学术界、开源生态中不可忽视的中国力量。智谱在 AI 领域已拥有广泛影响力,开源模型累计下载量高达 1600 万次,支持开源社区是智谱坚定不移的承诺。

更进一步,智谱 AI 也在共同制定大模型的 AI 安全标准。5 月 22 日,OpenAI、谷歌、微软和智谱 AI 等来自不同国家和地区的公司共同签署了前沿人工智能安全承诺(Frontier AI Safety Commitments)。其中指出,要确保前沿人工智能安全的负责任治理结构和透明度,负责任地说明如何衡量前沿人工智能模型的风险,并建立前沿人工智能安全模型风险缓解机制的明确流程。

而在 AI 领域之外,对于众多从大模型突破中受益的行业来说,智谱 AI 正在改通过 MaaS 的方式驱动企业生产力变革,其大模型的生态圈已经初具规模。

「我们为什么判断 2024 年是 AGI 的元年?如果说用一句话来解答这个问题:Scaling Law 并未失效,AI 技术增长进入了一个全新的阶段。大模型技术创新依旧是突飞猛进的进行时,甚至还有速度越来越快的迹象,」张鹏说道。「坦白地讲,历史上我们从未见过一种技术以如此陡峭的创新曲线迭代升级,持续时间还如此之长。」

智谱 AI 技术创新和商用落地的速度正在践行着这条陡峭的曲线。

在技术大发展的过程中,智谱 AI 已经走上了快车道。

#OpenRLHF

这个团队做了OpenAI没Open的技术,开源OpenRLHF让对齐大模型超简单

随着大型语言模型(LLM)规模不断增大,其性能也在不断提升。尽管如此,LLM 依然面临着一个关键难题:与人类的价值和意图对齐。在解决这一难题方面,一种强大的技术是根据人类反馈的强化学习(RLHF)。

但是,随着模型越来越大,RLHF 通常需要维持多个模型以及越来越复杂的学习流程,这又会导致内存和计算资源需求增长。举个例子,近端策略优化(PPO,这是 RLHF 常用的一种算法)需要在训练过程中维持四个模型。

由此,当语言模型的参数规模超过 700 亿时,为了训练和协调多个模型,所需的计算资源和调度复杂性会显著增长 —— 这是当前的架构设计难以满足的需求。

Transformer 强化学习(TRL)、ColossalChat(CAIChat)和 DeepSpeed-Chat(DSChat)等现有的开源 RLHF 框架是依靠零冗余优化器(Zero Redundancy Optimizer/ZeRO),来将 RLHF 训练涉及的四个模型配置到同一台 GPU 上。这个过程被称为 co-location,即空间并置。

但是,随着模型参数规模超过 700 亿,在内存有限的 GPU 上,这种调度方法的效率会越来越低。

为了解决空间并置的限制,TRL 等一些框架选择在内存使用上做出妥协,其做法包括将 actor 和 critic 模型融合起来或采用低秩适应(LoRA)等技术。但是,这些技术会降低模型性能,而且融合 actor-critic 式架构与备受推崇的实践做法不兼容,即使用奖励模型的权重来初始化 critic 模型的权重。

另一种替代方法是使用来自英伟达 Megatron 的张量并行化和管道并行化技术。但是,Megatron 与人们常用的 Hugging Face 软件库不兼容,而适应新模型又需要大量修改源代码,如此就很难使用了。

为了轻松实现大规模 RLHF 训练,OpenLLMAI、字节跳动、网易伏羲 AI Lab、阿里巴巴的一个联合团队提出并开源了 OpenRLHF,其中第一作者为 Jian Hu。该框架使用 Ray、vLLM 和 DeepSpeed 对模型调度进行了重新设计,可支持超 700 亿参数的模型的 RLHF 训练,其优势包括简单易用、高性能、实现了分布式 RLHF、集成了 PPO 实现技巧。

  • 论文标题:OpenRLHF: An Easy-to-use, Scalable and High-performance RLHF Framework
  • 论文地址:https://arxiv.org/pdf/2405.11143
  • 开源项目:https://github.com/OpenLLMAI/OpenRLHF

有关 Ray、vLLM 和 DeepSpeed 的具体详情,请访问原论文:

  • Ray: A Distributed Framework for Emerging AI Applications,arXiv:1712.05889
  • Efficient Memory Management for Large Language Model Serving with PagedAttention,arXiv:2309.06180
  • DeepSpeed: System Optimizations Enable Training Deep Learning Models with Over 100 Billion Parameters,https://github.com/microsoft/DeepSpeed

OpenRLHF 可与 Hugging Face Transformer 无缝整合,并且支持混合专家(MoE)、Jamba 和 QLoRA 等常用技术。此外,OpenRLHF 还实现了多个对齐算法,包括直接偏好优化(DPO)和 Kahneman-Tversky 优化(KTO)、条件 SFT 和拒绝采样。

因此,可以说 OpenRLHF 是一个非常全面的 RLHF 训练框架。

表 1 比较了常用的 RLHF 框架。

OpenRLHF 的设计

调度优化

要为更大的模型执行 RLHF 训练,需要高效地在多台 GPU 上分配至少四个组件模型(actor、critic、奖励、参考)。为什么需要多台 GPU?因为每台 GPU 加速器的内存有限,比如 NVIDIA A100 的内存不到 80GB。OpenRLHF 在模型调度方面创新性地使用了 Ray 来进行模型安放和细粒度的编排。

同时,OpenRLHF 还使用了针对推理优化的软件库 vLLM 和针对训练优化的软件库 DeepSpeed;它们都由基于 Ray 的调度器管理。

OpenRLHF 能将四个模型分配到多台 GPU 上,而不是将它们并置于同一台 GPU,如图 1 所示。

这样的设计很自然就支持在 RLHF 训练过程中使用多个奖励模型,如图 2 所示,并适用于多种算法实现。

基于此,算法工程师无需关心底层数据流的细节,就能快速构建多种对齐策略,比如有用性和有害性分离。这样的调度器设计还可使用 Ray 和 DeepSpeed 来实现灵活的模型融合或卸载策略。比如可以融合 actor - 参考或 critic - 奖励模型以节省 GPU 资源。

除了能高度定制算法实现这一优点,该调度器还能以最优方式编排 GPU,从而提升整体训练性能。

性能优化

RLHF 算法的性能取决于训练和推理两方面的效率。从分析结果看,主要瓶颈是在 PPO 样本生成阶段(如图 2 所示),这个阶段占到了整体训练时间的 80%。原因是:在生成阶段,自回归解码的复杂度为 O (n^2),并且也受到内存限制。

为了进一步加快样本生成的速度以及支持无法载入到单台 GPU 的更大型 LLM(比如 700 亿参数的模型),OpenRLHF 使用了 vLLM 的张量并行化等先进技术(连续批处理和分页注意力)来执行生成过程,如图 1 所示。

在 RLHF 的生成和学习阶段,OpenRLHF 采用了以下技术来获得进一步的提升:

  • 将 Adam 优化器状态卸载到 CPU,这能将 GPU 内存解放出来用于较大的推理批量大小,这能提升效率以及避免生成的内存瓶颈。置顶内存和梯度积累,用于降低梯度聚合过程中的 GPU-CPU 通信负载。
  • 使用 Flash Attention 2 来加速 Transformer 模型训练。
  • 使用 PyTorch 张量切片移除训练样本中的冗余填充。

图 2 中另外三个模型使用了 ZeRO 的第 3 阶段(对模型、梯度和优化器进行分片)。OpenRLHF 使用了英伟达 NCCL 和 vLLM 权重加载器来同步 ZeRO 和 vLLM 引擎的权重,确保实现快速又简单的集成。

表 2 比较了 OpenRLHF 与该团队精心微调过的 DSChat 的性能。

训练稳定性

在训练大型语言模型(LLM)时,PPO 等强化学习算法容易不稳定。为了保证稳定,该团队尽力验证了 OpenRLHF 的实现细节。图 2 和图 3 分别给出了一般的推理和学习流程。

此外,OpenRLHF 还借助了一些技巧来保证 PPO 实现的训练稳定,包括:

  • 仅在序列的文本末端 token 上预测奖励
  • 为语言模型使用 token 层级的强化学习
  • 在 PPO 中使用 KL 散度损失项
  • 在 PPO 中使用已预训练的损失项,其根据策略损失的相对规模进行调整
  • 为训练稳定度使用奖励归一化
  • 通过全局统计使用分布式优势归一化
  • 使用线性预热余弦退火学习率调度器

易用性

为便于用户使用,该团队还为支持的算法提供了一键可用的可训练脚本(详见原论文),并且该脚本与 Hugging Face 软件库完全兼容。下面给出了 Llama2 70B 模型的 RLHF 训练的最低配置:

#stable-audio-open-1.0

Stability AI开源47秒音频生成模型,虫鸣鸟叫、摇滚、鼓点都能生成

音频生成领域又有好消息:刚刚,Stability AI 宣布推出开放模型 Stable Audio Open,该模型能够生成高质量的音频数据。

项目地址:https://huggingface.co/stabilityai/stable-audio-open-1.0

与 Stability AI 的商业 Stable Audio 产品(可生成长达三分钟的更长、连贯的音乐曲目)不同,Stable Audio Open 可以通过简单的文本提示生成长达 47 秒的高质量音频数据。

经过专业训练后,这个模型已经非常适合创建鼓点、乐器 riffs、环境音、拟声录音和其他用于音乐制作和声音设计的音频样本。虽然它可以生成简短的音乐片段,但它并未针对完整的歌曲、旋律或人声进行优化。

Stable Audio Open 的主要优势在于,用户可以根据自己的自定义音频数据对模型进行微调。

比如,下方是鼓手根据自己的鼓声录音样本进行微调生成的新节拍:

warm_arpeggios_on_an_analog_synthesizer_with_a_gradually_ri,机器之心,47秒

生成森林中鸟儿唱歌的音频:

【blackbird】tmp_gradio_8cc6bd4d9dd695112ffb021c7f3c9539e74,机器之心,47秒

再生成一段「动次打次」的摇滚乐:

【摇滚】rock_beat_played_in_a_treated_studio_session_drummi,机器之心,47秒

训练细节与数据集

Stable Audio Open 是基于 Transformer 架构的潜在扩散模型,由三个组件组成:将波形压缩为可管理序列长度的自编码器、用于文本调节的基于 T5 的文本嵌入,以及在自编码器的潜在空间中运行的基于 transformer 的扩散 (DiT) 模型。

随着包括 Stability 在内的音乐生成器越来越受欢迎,版权以及一些生成器创建者可能滥用版权的方式正成为人们关注的焦点。

Stability AI 对本次模型的训练采取了负责任的态度,在文生图模型训练上的「版权问题」曾让这家公司深陷争议之中。因此,Stable Audio Open 使用来自 FreeSound 和 Free Music Archive 的音频数据进行训练,确保未经许可未使用任何受版权保护或专有的材料。

数据集共包含 486492 个音频记录,其中 472618 个来自 Freesound,13874 个来自 Free Music Archive 。所有音频文件均为 CC0、CC BY 或 CC Sampling+ 许可。这些数据用于训练自编码器和 DiT,此外研究者使用了公开的预训练 T5 模型(t5-base)进行文本调节。

在开始训练之前,研究者进行了深入分析,以确保训练数据中没有未经授权的版权音乐。

他们首先使用基于 AudioSet 类别的 PANNs 音乐分类器识别了 FreeSound 中的音乐样本。被识别的音乐样本中至少有 30 秒的音乐被预测为属于音乐相关类别,阈值为 0.15(PANNs 输出概率范围为 0 至 1)。

识别出的音乐样本被发送到 Audible Magic(一家值得信赖的内容检测公司)的识别服务,以确保不存在受版权保护的音乐。Audible Magic 标记了疑似受版权保护的音乐,这些会被删除,然后再对数据集进行训练。大部分被删除的内容都是现场录音,其中的背景音乐都是受版权保护的。经过上述处理后,研究者得到了 266324 个 CC0、194840 个 CC-BY 和 11454 个 CC 采样 + 音频记录。

最后要确保的是, FMA 子集中不存在受版权保护的内容。在这种情况下,程序略有不同,因为 FMA 子集中包含音乐信号。研究者根据大型版权音乐数据库进行元数据搜索,并标记任何可能匹配的内容,被标记的内容会由人工逐一审核。这一过程之后,最终获得了 8967 首 CC-BY 和 4907 首 CC0 音乐。

局限性

Stable Audio Open 1.0 作为一个音频生成模型,也有一些局限性,包括:

  • 无法生成逼真的声音;
  • 使用英语描述进行训练,在其他语言中的表现不会那么好;
  • 不能适用于所有音乐风格和文化,训练数据缺乏多样性,模型可能无法在现有的各种音乐流派和声音效果上表现得同样好;
  • 有时很难评估哪种类型的文本描述可以提供最佳的生成效果,可能需要进行工程设计才能获得令人满意的结果。

值得注意的是,Stable Audio Open 是一个开放模型,但是从技术上讲它不是开源的。Stable Audio Open 并未使用实际的开放源代码促进会 (OSI) 批准的许可证,而是根据 Stability AI 非商业研究社区协议许可证向用户提供。 

与此同时,Stable Audio Open 也不能用于商业用途;服务条款禁止这样做。而且,它在不同音乐风格和文化中的表现并不一样好,或者在使用英语以外的语言描述时也表现不佳。

Stability AI 将此归咎于训练数据。模型描述中写道:「数据源可能缺乏多样性,数据集中并非所有文化都具有同等代表性。模型生成的样本将反映训练数据的偏差。」

#FuseLLM

融合多个异构大语言模型,中山大学、腾讯 AI Lab 推出 FuseLLM , Llama-2+Mistral+MPT=? 融合多个异构大模型显奇效

随着 LLaMA、Mistral 等大语言模型的成功,各家大厂和初创公司都纷纷创建自己的大语言模型。但从头训练新的大语言模型所需要的成本十分高昂,且新旧模型之间可能存在能力的冗余。

近日,中山大学和腾讯 AI Lab 的研究人员提出了 FuseLLM,用于「融合多个异构大模型」。

不同于以往的模型集成和权重合并,前者需要在推理时同时部署多个大语言模型,后者需要合并模型具备相同的结果,FuseLLM 能够从多个异构大语言模型中外化知识,将各自的知识和能力通过轻量的持续训练转移到一个融合大语言模型中。

该论文刚刚在 arXiv 上发布就引起了网友的大量关注和转发。

有人认为,「当想要在另一种语言上训练模型时,使用这种方法是非常有趣的」,「我一直在思考这件事」。

目前该论文已被 ICLR 2024 接受。

  • 论文标题:Knowledge Fusion of Large Language Models
  • 论文地址:https://arxiv.org/abs/2401.10491
  • 论文仓库:https://github.com/fanqiwan/FuseLLM

方法介绍

FuseLLM 的关键在于从概率分布表征的角度来探讨大语言模型的融合,对于同样的输入文本,作者认为由不同大语言模型生成的表征可以反映出它们在理解这些文本时的内在知识。因此,FuseLLM 首先利用多个源大语言模型生成表征,将它们的集体知识和各自优势外化,然后将生成的多个表征取长补短进行融合,最后经过轻量级的持续训练迁移到目标大语言模型。下图展示了 FuseLLM 方法的概述。

考虑到多个异构大语言模型的 tokenizer 以及词表存在差异,在融合多个表征时,如何对齐分词结果是一大关键: FuseLLM 在 token 级别的完全匹配之上,额外设计了基于最小编辑距离的词表级别对齐,最大程度地保留了表征中的可用信息。

为了在结合多个大语言模型的集体知识的同时保持其各自的优势,需要精心设计用于融合模型生成表征的策略。具体而言,FuseLLM 通过计算生成表征和标签文本之间交叉熵来评估不同大语言模型对这条文本的理解程度,然后引入了两种基于交叉熵的融合函数:

  • MinCE: 输入多个大模型为当前文本生成的表征,输出交叉熵最小的表征;
  • AvgCE: 输入多个大模型为当前文本生成的表征,输出基于交叉熵获得的权重加权平均的表征;

在持续训练阶段,FuseLLM 使用融合后的表征作为目标计算融合损失,同时也保留了语言模型损失。最终的损失函数为融合损失和语言模型损失之和。

实验结果

在实验部分,作者考虑了一个通用但具有挑战性的大语言模型融合场景,其中源模型在结构或能力上具备较小的共性。具体来说,其在 7B 规模上进行了实验,并选择了三个具有代表性的开源模型:Llama-2、OpenLLaMA,和 MPT 作为待融合的大模型。

作者在通用推理、常识推理、代码生成、文本生成、指令跟随等场景评估了 FuseLLM,发现其相较于所有源模型和继续训练基线模型取得了显著的性能提升。

通用推理 & 常识推理

在测试通用推理能力的 Big-Bench Hard Benchmark 上,经过持续训练后的 Llama-2 CLM 相较于 Llama-2 在 27 个任务上取得了平均 1.86% 的提升,而 FuseLLM 则相较于 Llama-2 取得了 5.16% 的提升,显著优于 Llama-2 CLM,说明 FuseLLM 能结合多个大语言模型的优势取得性能提升。

在测试常识推理能力的 Common Sense Benchmark 上,FuseLLM 超过了所有的源模型和基线模型,在所有任务上都取得了最佳的性能。

代码生成 & 文本生成

在测试代码生成能力的 MultiPL-E Benchmark 上,FuseLLM 在 10 个任务中,有 9 个超过了 Llama-2,取得了平均 6.36% 的性能提升。而 FuseLLM 没有超过 MPT 和 OpenLLaMA 的原因可能是由于使用 Llama-2 作为目标大语言模型,其代码生成能力较弱,且持续训练语料中的代码数据比例较低,仅占约 7.59%。 

在多个测量知识问答(TrivialQA)、阅读理解(DROP)、内容分析(LAMBADA)、机器翻译(IWSLT2017)和定理应用(SciBench)的文本生成 Benchmark 上,FuseLLM 也在所有任务中超过了所有源模型,并在 80% 的任务中超过了 Llama-2 CLM。

指令跟随

由于 FuseLLM 仅需提取多个源模型的表征进行融合,然后对目标模型持续训练,因此其也能适用于指令微调大语言模型的融合。在评估指令跟随能力的 Vicuna Benchmark 上,FuseLLM 同样取得了出色表现,超过了所有源模型和 CLM。

FuseLLM vs. 知识蒸馏 & 模型集成 & 权重合并

考虑到知识蒸馏也是一种利用表征提升大语言模型性能的方法,作者将 FuseLLM 和用 Llama-2 13B 蒸馏的 Llama-2 KD 进行了比较。结果表明,FuseLLM 通过融合三个具有不同架构的 7B 模型,超过了从单个 13B 模型蒸馏的效果。

为了将 FuseLLM 与现有融合方法进行比较(例如模型集成和权重合并),作者模拟了多个源模型来自相同结构的底座模型,但在不同的语料库上持续训练的场景,并测试了各种方法在不同测试基准上的困惑度。可以看到虽然所有的融合技术都可以结合多个源模型的优势,但 FuseLLM 能达到最低的平均困惑度,表明 FuseLLM 具备能比模型集成和权重合并方法更有效地结合源模型集体知识的潜力。

最后,尽管社区目前已经关注大模型的融合,但目前的做法大多基于权重合并,无法扩展到不同结构、不同规模的模型融合场景。虽然 FuseLLM 只是一项初步的异构模型融合研究,但考虑到目前技术社区存在大量不同的结构和规模的语言、视觉、音频和多模态大模型,未来这些异构模型的融合会迸发出怎样惊人地表现呢?让我们拭目以待!

#Layer SElective Rank reduction (LASER)

MIT、微软联合研究:不需要额外训练,也能增强大语言模型的任务性能并降低其大小。给Transformer降降秩,移除特定层90%以上组件LLM性能不减

在大模型时代,Transformer 凭一己之力撑起了整个科研领域。自发布以来,基于 Transformer 的 LLM 在各种任务上表现出卓越的性能,其底层的 Transformer 架构已成为自然语言建模和推理的最先进技术,并在计算机视觉和强化学习等领域显示出强有力的前景。

然而,当前 Transformer 架构非常庞大,通常需要大量计算资源来进行训练和推理。 

这是有意为之的,因为经过更多参数或数据训练的 Transformer 显然比其他模型更有能力。尽管如此,越来越多的工作表明,基于 Transformer 的模型以及神经网络不需要所有拟合参数来保留其学到的假设。 

一般来讲,在训练模型时大规模过度参数化似乎很有帮助,但这些模型可以在推理之前进行大幅剪枝;有研究表明神经网络通常可以去除 90% 以上的权重,而性能不会出现任何显著下降。这种现象促使研究者开始转向有助于模型推理的剪枝策略研究。

来自 MIT、微软的研究者在论文《 The Truth is in There: Improving Reasoning in Language Models with Layer-Selective Rank Reduction 》中提出了一个令人惊讶的发现,即在 Transformer 模型的特定层上进行仔细的剪枝可以显著提高模型在某些任务的性能。

  • 论文地址:https://arxiv.org/pdf/2312.13558.pdf
  • 论文主页:https://pratyushasharma.github.io/laser/

该研究将这种简单的干预措施称之为 LASER( Layer SElective Rank reduction ,层选择性降秩),通过奇异值分解来选择性地减少 Transformer 模型中特定层的学习权重矩阵的高阶分量,从而显著提高 LLM 的性能,这种操作可以在模型训练完成后进行,并且不需要额外的参数或数据。

操作过程中,权重的减少是在模型特定权重矩阵和层中执行的,该研究还发现许多类似矩阵都可以显著减少权重,并且在完全删除 90% 以上的组件之前通常不会观察到性能下降。

该研究还发现这些减少可以显著提高准确率,这一发现似乎不仅限于自然语言,在强化学习中也发现了性能提升。

此外,该研究尝试推断出高阶组件中存储的内容是什么,以便进行删除从而提高性能。该研究发现经过 LASER 回答正确的问题,但在干预之前,原始模型主要用高频词 (如 “the”、“of” 等) 来回应,这些词甚至与正确答案的语义类型都不相同,也就是说这些成分在未经干预的情况下会导致模型生成一些不相干的高频词汇。

然而,通过进行一定程度的降秩后,模型的回答可以转变为正确的。

为了理解这一点,该研究还探索了其余组件各自编码的内容,他们仅使用其高阶奇异向量来近似权重矩阵。结果发现这些组件描述了与正确答案相同语义类别的不同响应或通用高频词。

这些结果表明,当嘈杂的高阶分量与低阶分量组合时,它们相互冲突的响应会产生一种平均答案,这可能是不正确的。图 1 直观地展示了 Transformer 架构和 LASER 遵循的程序。在这里,特定层的多层感知器(MLP)的权重矩阵被替换为其低秩近似。

LASER 概览 

研究者详细介绍了 LASER 干预。单步 LASER 干预由包含参数 τ、层数ℓ和降秩 ρ 的三元组 (τ, ℓ, ρ) 定义。这些值共同描述了哪个矩阵会被它们的低秩近似所替代以及近似的严格程度。研究者依赖参数类型对他们将要干预的矩阵类型进行分类。

研究者重点关注 W = {W_q, W_k, W_v, W_o, U_in, U_out} 中的矩阵,它由 MLP 和注意力层中的矩阵组成。层数表示了研究者干预的层(第一层从 0 开始索引)。例如 Llama-2 有 32 层,因此 ℓ ∈ {0, 1, 2,・・・31}。

下图 1 为 LASER 示例,该图中,τ = U_in 和ℓ = L 表示在 L^th 层的 Transformer 块中来更新 MLP 第一层的权重矩阵。另一个参数控制 rank-k 近似中的 k。

LASER 方法只是对这类干预进行简单的搜索,并修改以带来最大收益。不过,还有很多其他方法可以将这些干预组合起来,这是研究者未来工作的方向。

实验结果

在实验部分,研究者使用了在 PILE 数据集上预训练的 GPT-J 模型,该模型的层数为 27,参数为 60 亿。然后在 CounterFact 数据集上评估模型的行为,该数据集包含(主题、关系和答案)三元组的样本,每个问题提供了三个释义 prompt。 

首先是 CounterFact 数据集上对 GPT-J 模型的分析。下图 2 展示了在 Transformer 架构中为每个矩阵应用不同数量降秩的结果对数据集分类损失的影响。其中每个 Transformer 层都由一个两层的小型 MLP 组成,输入和输出矩阵分别显示。不同的颜色表示移除组件的不同百分比。

关于提升释义的准确度和稳健性,如上图 2 和下表 1 所示,研究者发现,当在单层上进行降秩时,GPT-J 模型在 CounterFact 数据集上的事实准确度从 13.1% 增加到了 24.0%。需要注意一点,这些改进只是降秩的结果,并不涉及对模型的任何进一步训练或微调。

数据集中的哪些事实会通过降秩恢复呢?研究者发现,通过降秩恢复的事实极大可能很少出现在数据中,如下图 3 所示。

高阶组件存储什么呢?研究者使用高阶组件近似最终的权重矩阵(而不像 LASER 那样使用低阶组件来近似),如下图 5 (a) 所示。当使用不同数量的高阶组件来近似矩阵时,他们测量了真实答案相对于预测答案的平均余弦相似度,如下图 5 (b) 所示。

最后,研究者评估了自身发现对 3 种不同的 LLM 在多项语言理解任务上的普遍性。对于每项任务,他们通过生成准确度、分类准确度和损失三种指标来评估模型的性能。如上表 1 所示,即使降秩很大也不会导致模型准确度下降,却可以提升模型性能。 

#reasoning-teacher

大型语言模型可以用来教小得多的学生模型如何进行一步一步地推理。本文方法显著提高了小型 (~0.3B 参数) 模型在一系列任务上的性能,在许多情况下甚至可以达到或超过大型模型的性能。

使用Fine-tune-CoT方法,小模型也能做推理,完美逆袭大模型

语言模型(LMs)在各种下游任务中表现出色,这主要归功于它们通过 Transformer 架构(Vaswani et al.,2017)和大量网络训练数据获得的可扩展性。先前的语言模型研究遵循了在大型语料库上预先训练,然后在下游任务上微调的范式(Raffel et al.,2020; Devlin et al.,2018)。最近,大型语言模型(LLMs)向人们展示了其上下文泛化能力:通过仅在几个上下文样例或纯自然语言任务描述上调整就能完成下游任务(Brown et al.,2020; Sun et al.,2021)。

如果给语言模型生成一些 prompting,它还向人们展示了其解决复杂任务的能力。标准 prompting 方法,即为使用少样本的问答对或零样本的指令的一系列方法,已经被证明不足以解决需要多个推理步骤的下游任务(Chowdhery 等,2022)。

但是,最近的研究已经证明,通过包含少数思维链(CoT)推理的样本(Wang 等,2022b)或通过 promp 来让模型逐步思考的方法(Kojima 等,2022)可以在大型语言模型中促成复杂的推理能力。

基于 promp 的思维链方法的主要缺点是它需要依赖于拥有数十亿参数的巨大语言模型(Wei et al,2022b;Kojima et al,2022)。由于计算要求和推理成本过于庞大,这些模型难以大规模部署(Wei et al,2022b)。因此,来自韩国科学技术院的研究者努力使小型模型能够进行复杂的推理,以用于实际应用。

有鉴于此,本文提出了一种名为微调思维链的方法,该方法旨在利用非常大的语言模型的思维链推理能力来指导小模型解决复杂任务。

  • 论文链接:https://arxiv.org/pdf/2212.10071.pdf
  • 项目地址:https://github.com/itsnamgyu/reasoning-teacher

为了详细说明,本文应用现有的零样本思维链 prompting(Kojima 等人,2022)从非常大的教师模型中生成推理,并使用它们来微调较小的学生模型。

研究者注意到,与标准的 prompting 类似,对于训练语言模型来解决复杂推理的任务来说,纯微调往往是不够的。虽然已经有人尝试用规定好的推理步骤对小模型进行微调来解决这个问题,但这些方法需要巨量的推理注释,而且往往还需要与特定任务匹配的训练设置(Nye 等人,2021;Cobbe 等人,2021)。

本文提出的方法,由于基于语言模型的教师具有显著的零样本推理能力(Kojima 等人,2022),无需手工制作推理注释及特定任务设置,可以很容易地应用于新的下游任务。从本质上讲,本文的方法保留了基于 prompting 的思维链的多功能性,同时模型规模还不是很大。

研究者还对本文中的方法提出了一种扩展,称为多样化推理,这种扩展方法通过为每个训练样本生成多个推理方案来最大限度地提高对思维链进行微调的教学效果。具体来说可以通过简单的重复随机抽样来实现。多样化推理的动机是,多种推理路径可以用来解决复杂的第二类任务(Evans, 2010)。本文认为,这种推理路径的多样性以及语言模板的加入可以大大有助于复杂推理的微调。

本文使用公开的 GPT-3 模型对思维链微调和各类任务及规模的多样化推理进行了实证评估。本文提出的微调方法在复杂任务的小模型中具备明显的推理性能,而以前基于 prompting 的方法则只具有接近随机的性能。

本文表明,在思维链微调方法下的小模型在某些任务中的表现甚至超过了它们的大模型老师。通过多样化的推理,研究者发现维链微调方法的性能是高度可扩展的,并且即使在很少的训练例子中也能具备较高的样本效率和显著的推理性能。研究者对思维链微调方法在众多数据集上的表现进行了彻底的样本研究和消融实验,在小模型上证明了其价值。在此过程中,本文揭示了微调在思维链推理中前作没有被考虑到的一些重要细微差别。

方法概览

本文提出了思维链微调方法,这是一种与下游任务无关的方法,可以在小型语言模型中实现思维链推理。该方法的核心思想是使用基于 prompting 的思维链方法从非常大的教师模型中生成推理样本,然后使用生成的样本对小型学生模型进行微调。

这种方法保留了任务无偏的基于 prompt 思维链方法的优点,同时克服了其对过大模型的依赖性。为了最大限度地提高通用性,本文在教师模型上使用了最新的零样本思维链 prompting 方法(Kojima 等人,2022),因为此方法不需要任何手工注释的推理解释。作者注意到,本文提出的方法其实并不限于这种教师模型的 prompting 方式。文本将思维链微调方法拆解为三个步骤,如下图所示。

步骤 1—— 推理生成

 第 2 步 —— 整理

步骤 3—— 微调

最后,本文使用开源的 OpenAI API 在集成的推理样本上对一个小型的预训练学生模型进行微调。本文使用与预训练时相同的训练目标,即自回归语言建模目标,或者用 token 预测(Radford 等人,2018)。

多样化推理

在样本研究中,研究者确认多样化推理样本包含各种推理路径以及语言模板,这一点也可以在细化的学生模型中观察到。这与 Wang 等人(2022b);Zelikman 等人(2022);Huang 等人(2022)的成果类似,多样化推理路径被生成并被边缘化以找到最优答案。多样化推理也与 Yoo 等人(2021)有相似之处,后者利用大模型语言模型的生成能力,合成的样本来增加训练数据。

实验结果

下表将思维链微调方法的学生模型,与现有的对下游任务不敏感的方法 —— 零样本学习(Kojima 等人,2022)以及标准的零样本 prompt 和没有任何推理的微调方法进行对比,并记录了准确率。

思维链微调在相同的任务中性能明显更突出,这显示出使用较小的模型比零样本思维链方法收益更大。

上表还显示,思维链微调对小模型非常有效。同样地,本文还发现思维链微调在很多任务中的表现优于 vanilla 微调,如上表所示。

下表显示,多样化的推理可以显著提高使用思维链微调的学生模型的性能。

#CALM~

现在大模型都学会借力了。

琳琅满目的乐高积木,通过一块又一块的叠加,可以创造出各种栩栩如生的人物、景观等,不同的乐高作品相互组合,又能为爱好者带来新的创意。

我们把思路打开一点,在大模型(LLM)爆发的当下,我们能不能像拼积木一样,把不同的模型搭建起来,而不会影响原来模型的功能,还能起到 1+1>2 的效果。

这样的想法,谷歌已经实现了。他们的研究为未来的语言模型发展提供了一个新的方向,特别是在资源节约和模型适应性方面。

如今的大语言模型(LLM)仿佛一个全能战士,能进行常识和事实推理、懂得世界知识、生成连贯的文本…… 在这些基础功能的底座上,研究者们又进行了一系列努力对这些模型进行微调,以实现特定于领域的功能,如代码生成、文案编辑以及解决数学问题等。

但这些特定于领域的模型开始出现一些棘手的问题,例如,有些模型在标准代码生成方面做得很好,但在一般逻辑推理方面并不精通,反之亦然。

我们不禁要问:是否可以将 anchor 模型(即具有基础功能的模型)与特定于领域的增强模型组合在一起,从而开启模型新功能?例如,我们能否将理解代码的增强模型与 anchor 模型的语言生成能力组合起来,以实现从代码 - 文本的生成能力?

在此之前,该问题典型的解决方案是在最初用于训练增强模型的数据上进行进一步的预训练或微调 anchor 模型。然而,很多时候这样的解决方案是不可行的,因为训练大模型的计算成本很高。此外,由于数据隐私等问题,处理来自多个来源的数据可能不可行。

为了解决上述训练成本和数据带来的挑战,谷歌提出并研究了进行模型组合的实际设置,这些设置包括:(i)研究者可以访问一个或多个增强模型和 anchor 模型,(ii)不允许修改任一模型的权重,并且(iii)只能访问少量数据,这些数据代表了给定模型的组合技能。

论文地址:https://arxiv.org/pdf/2401.02412.pdf

该研究是这样实现的,他们提出了一种新颖的 CALM(组合到增强语言模型 Composition to Augment Language Models)框架来解决模型组合设置。CALM 不是增强和 anchor LM 的浅层组合,而是在增强和 anchor 模型的中间层表示上引入了少量的可训练参数。

这种方法不仅资源高效,只需增加少量额外的参数和数据,就能扩展到新任务上,比完全重新训练模型要经济得多。而且比单独使用一个模型能够更准确地执行新的挑战性任务,同时还能保留各个模型的功能。CALM 对特定任务和低资源语言也提供了更好的支持。

这种通过组合方式扩展模型功能的创新得到了很多人的好评:

「这项研究以及类似的 MoE 研究真的很令人惊讶。像堆乐高积木一样把模型拼在一起就行了!」

方法介绍

对于给定的 anchor 模型 m_B 和增强模型 m_A,CALM 旨在将这两种模型结合起来,组成 m_(A⊕B),使得新模型的能力成为两个独立模型能力的组合。

研究过程中,开发人员做了以下假设:i)他们可以访问模型的权重,向前、向后传播,并有权限访问 m_B 和 m_A 的中间表示,ii)不允许更改两个模型的权重,iii)研究者无法访问两个基本模型的训练数据、超参数、训练状态,iv)研究者能提供来自目标组合域的一些示例。

可训练参数

该研究在 m_B 和 m_A 的选定层上进行操作。具体而言,他们在这些层上学习两组附加参数:(i)一组是简单的线性变换,f_proj(.),它将来自 m_A 的第 i 层表示映射到来自 m_B 的表示的维度,以及(ii)一组交叉 - 注意力层,f_cross (.,.),该层位于线性变换后的层表示和 m_B 的第 j 层表示之间。

如图 1 所示,图中展示了具有不同功能的 m_A(黄色块):键值映射(左)、低资源语言(中)和代码(右)。模型 m_A 和 m_B 在合成过程中保持不变 。那些额外的参数是通过模型的层表示来学习的。最左边的图显示了在一组字符串 - 整数映射上训练的 m_A,例如 {x_1 : 10……,x_n:2}。m_B 是一个具有算术能力的大型 LM。CALM 组合这两个冻结模型来解决任一模型无法自行解决的键算术(arithmetic on keys)任务。值得注意的是,尽管使用仅涵盖 20% 键的算术示例进行训练,但 CALM 仍可扩展到整个键 - 值集。

训练示例的构建

由于目标模型 m_(A⊕B)涉及两个模型 m_A 和 m_B 的组合,因此该研究还构建了一组训练示例 D_C 来描述模型的组合技能。

理想情况下,如果组合任务中包含任务 t_1 和 t_2,例如组合任务 (C) 是对一组键执行算术运算。增强模型 m_A 用来学习给定的键值对(标记为任务 t_1), anchor 模型 m_B 是可以很好地执行数字运算的通用模型(标记为任务 t_2)。

为了学习组合参数 θ_C,该研究定义 D_C 包含两个模型的组合技能。与 LoRA 等在训练期间需要整个知识源(此处为键值)的微调方法相比,本文发现仅对一小部分键进行训练组合就可以泛化到全部。

实验结果

键值算术

论文作者首先研究了这样一种情况:有一个小型的增强 LM(m_A),它已被训练成能够记忆从字符串到整数的键值(KV)映射;还有一个大型的 anchor LM(m_B),它能够对整数进行算术运算。作者希望使用 CALM 将它们组合在一起,从而实现解决包含这些键的算术表达式的新功能。

表 1 显示了 m_A、m_B 和 m_(A⊕B) 这三个模型在一些数据集中的表现。首先,可以看到增强模型 m_A 在 KV 替换(KV-Substitution)任务中取得了 98.1% 的成绩,这表明它能很好地记忆 D_KV。接下来,可以看到它在数字算术(Numeric-Arithmetic)任务中的表现很差(4.2%),这表明它不具备算术能力。因此,该模型无法求解包含 D_KV 的键的算术表达式。

不出所料,anchor 模型 m_B 在 KV 替换和 KV 算术(KV-Arithmetic)任务中的准确率为 0%,因为它没有看到任何来自 D_KV 的数据。然而,它在数字算术任务中的表现却很好(73.7%),这表明它有能力对数字进行算术运算。

最后,可以看到组合模型 m_(A⊕B) 能够以很高的准确率解决所有任务,尤其是 KV 算术任务(84.3%),而这是两个底层模型都无法解决的。这表明组合模型能够利用增强模型和 anchor 模型的相关能力来解决复杂任务。

接下来,作者研究了能否将这样一个大型 anchor LM m_B 与经过低资源语言预训练的小型增强 LM m_A 结合在一起,以执行以这些低资源语言呈现的翻译和数学词语解题任务。

表 2 显示了模型在 FLORES-200 数据集上的表现。对于表中所示的 10 种低资源语言,可以看到基础模型 m_A 和 m_B 的表现都不如组合模型 m_(A⊕B)。作者发现,在全部 192 种语言中的 175 种语言上,组合模型 m (A⊕B) 的表现都优于 m_B(见图 2)。 

表 3 显示了这些模型在 GSM8K 任务中低资源语言和高资源语言的小学数学单词问题上的表现。首先,可以观察到,由于数学推理能力有限,增强模型 m_A 在这项任务中表现不佳。另一方面,鉴于 anchor 模型 m_B 数学推理能力和高资源语言的迁移学习能力,它的表现要好得多。最后,作者发现在 25 种低资源语言中的 18 种和 10 种高资源语言中的 9 种上,m (A⊕B) 的表现都优于 m_A 和 m_B,这证明了模型组合的有效性。请参见表 6 以了解完整的评估结果。请注意,表 3 的最后一行显示,在 D_NTL 上微调后的 m_B 比预训练的 m_B 性能更差,这表明存在遗忘。使用 CALM 将特定领域的模型 m_A 与 m_B 组合在一起可以避免这种情况。

代码理解和生成

代码理解和生成需要两类不同的能力:(a)代码语法和语义知识;(b)代码所操纵的世界的知识。虽然 LLM 拥有丰富的世界知识,但由于其预训练语料库中的代码数据表示有偏差,它们往往缺乏代码语法方面的具体知识。相反,专门用代码数据训练的小模型可以很好地理解代码语法,但它们可能缺乏广泛的世界知识和推理能力。CALM 可以实现这两方面的最佳效果。

当使用 CALM 来组成这两个模型时,作者通过显著的性能改进观察到了能力的清晰迁移和组合:与 m_B 相比,组合模型在 CC 和 T2C 任务上的绝对性能分别提高了 6.1% 和 3.6%。作者观察到,由于灾难性遗忘,在 D_Code 上微调 m_B 会导致 C2T 性能显著下降。在所有语言中,CALM 保持了性能,并略微优于 m_B。作者还研究了 C2T 任务的定性示例,并观察到了有趣的共同模式,详情见附录 B。

消融研究

m_A 的影响 

作者首先研究了 m_A 的影响,即在组成过程中用 vanilla 和随机变体替换 m_A。表 5 显示了在 NTL 和代码任务中,当专门的 m_A 被 vanilla PaLM2-XXS 检查点或未经训练的模型版本(即随机模型)替换时,性能的变化情况。作者发现,在所有任务中,这些变体的性能都大幅下降。在 FLORES-200 XX-En 任务中,使用 vanilla 和随机模型时,语言的组合性能分别下降到 115 和 43。与 m_B 相比,vanilla 模型的性能略有提高,这表明非专门化模型(与 m_B 的训练机制不同)可能具有正交能力,从而增强了模型的性能。这一发现验证了 CALM 的性能提升是利用 m_A 而不是增加 Θ_C 参数的结果。

迭代解码的影响

作者还研究了一个变体,即将 m_A 用作编码器,也就是说,在给定时间步解码的输出 token 不会添加到 m_A 的输入中。在这种情况下,只使用 m_A 的前缀表示。这种设置与过去针对图像和文本模型的工作不太一样,后者将编码器和解码器模型组合使用。作者观察到,在采用之前的设置时,各种任务的性能都有明显下降。

与 LoRA 的比较 

最后,作者通过训练 LoRA 层来评估一种参数高效微调方法,以适应 m_B。在所有实验中,他们都设置了 LoRA rank,使添加的参数数量等于 CALM 引入的参数数量。作者还在与 CALM 相同的数据(即 D_C)上训练 LoRA。他们发现这两种方法在所有任务和指标上的性能差异都很大。

参考链接:https://twitter.com/GPTDAOCN/status/1743240332136030542

#基础模型+机器人の发展路径

基础模型 (Foundation Models) 已经在过去几年里重塑了自然语言处理 (NLP) 和计算机视觉 (CV) 研究的格局,那么基础模型能为机器人带来怎样的可能性?这篇综述或许有你想要的答案。

机器人是一种拥有无尽可能性的技术,尤其是当搭配了智能技术时。近段时间创造了许多变革性应用的大模型有望成为机器人的智慧大脑,帮助机器人感知和理解这个世界并制定决策和进行规划。

近日,CMU 的 Yonatan Bisk 和 Google DeepMind 的夏斐(Fei Xia)领导的一个联合团队发布了一篇综述报告,介绍了基础模型在机器人领域的应用和发展情况。报告的 first aurthor 是 CMU 的博士四年级学生胡亚非(Yafei Hu),他的研究集中在机器人和人工智能的交叉应用上。与他合作的是谢泉廷(Quanting Xie),专注于通过基础模型探索具身智能(embodied intelligence)。

论文地址:https://arxiv.org/pdf/2312.08782.pdf

开发能自主适应不同环境的机器人是人类一直以来的一个梦想,但这却是一条漫长且充满挑战的道路。之前,利用传统深度学习方法的机器人感知系统通常需要大量有标注数据来训练监督学习模型,而如果通过众包方式来标注大型数据集,成本又非常高。

此外,由于经典监督学习方法的泛化能力有限,为了将这些模型部署到具体的场景或任务,这些训练得到的模型通常还需要精心设计的领域适应技术,而这又通常需要进一步的数据收集和标注步骤。类似地,经典的机器人规划和控制方法通常需要仔细地建模世界、智能体自身的动态和 / 或其它智能体的动态。这些模型通常是针对各个具体环境或任务构建的,而当情况有变时,就需要重新构建模型。这说明经典模型的迁移性能也有限。

事实上,对于很多用例,构建有效模型的成本要么太高,要么就完全无法办到。尽管基于深度(强化)学习的运动规划和控制方法有助于缓解这些问题,但它们仍旧会受到分布移位(distribution shift)和泛化能力降低的影响。

虽然在开发通用型机器人系统上正面临诸多挑战,但自然语言处理(NLP)和计算机视觉(CV)领域近来却进展迅猛,其中包括用于 NLP 的大型语言模型(LLM)、用于高保真图像生成的扩散模型、用于零样本 / 少样本生成等 CV 任务的能力强大的视觉模型和视觉语言模型。

所谓的「基础模型(foundation model)」其实就是大型预训练模型(LPTM)。它们具备强大的视觉和语言能力。近来这些模型也已经在机器人领域得到应用,并有望赋予机器人系统开放世界感知、任务规划甚至运动控制能力。除了将现有的视觉和 / 或语言基础模型用于机器人领域,也有研究团队正针对机器人任务开发基础模型,比如用于操控的动作模型或用于导航的运动规划模型。这些机器人基础模型展现出了强大的泛化能力,能适应不同的任务甚至具身方案。也有研究者直接将视觉 / 语言基础模型用于机器人任务,这展现出了将不同机器人模块融合成单一统一模型的可能性。

尽管视觉和语言基础模型在机器人领域前景可期,全新的机器人基础模型也正在开发中,但机器人领域仍有许多挑战难以解决。

从实际部署角度看,模型往往是不可复现的,无法泛化到不同的机器人形态(多具身泛化)或难以准确理解环境中的哪些行为是可行的(或可接受的)。此外,大多数研究使用的都是基于 Transformer 的架构,关注的重点是对物体和场景的语义感知、任务层面的规划、控制。而机器人系统的其它部分则少有人研究,比如针对世界动态的基础模型或可以执行符号推理的基础模型。这些都需要跨领域泛化能力。

最后,我们也需要更多大型真实世界数据以及支持多样化机器人任务的高保真度模拟器。

这篇综述论文总结了机器人领域使用的基础模型,目标是理解基础模型能以怎样的方式帮助解决或缓解机器人领域的核心挑战。

在这篇综述中,研究者使用的「用于机器人的基础模型(foundation models for robotics)」这一术语涵盖两个方面:(1) 用于机器人的现有的(主要)视觉和语言模型,主要是通过零样本和上下文学习;(2) 使用机器人生成的数据专门开发和利用机器人基础模型,以解决机器人任务。他们总结了用于机器人的基础模型的相关论文中的方法,并对这些论文的实验结果进行了元分析(meta-analysis)。

预备知识

为了帮助读者更好地理解这篇综述的内容,该团队首先给出了一节预备知识内容。

他们首先将介绍机器人学的基础知识以及当前最佳技术。这里主要聚焦于基础模型时代之前机器人领域使用的方法。这里进行简单说明,详情参阅原论文。 

  • 机器人的主要组件可分为感知、决策和规划、动作生成三大部分。该团队将机器人感知分为被动感知、主动感知和状态估计。
  • 在机器人决策和规划部分,研究者分经典规划方法和基于学习的规划方法进行了介绍。
  • 机器的动作生成也有经典控制方法和基于学习的控制方法。

接下来该团队又会介绍基础模型并主要集中在 NLP 和 CV 领域,涉及的模型包括:LLM、VLM、视觉基础模型、文本条件式图像生成模型。

机器人领域面临的挑战

典型机器人系统的不同模块所面临的五大核心挑战。图 3 展示了这五大挑战的分类情况。

泛化

机器人系统往往难以准确地感知和理解其环境。它们也没有能力将在一个任务上的训练成果泛化到另一个任务,这会进一步限制它们在真实世界中的实用性。此外,由于机器人硬件不同,将模型迁移用于不同形态的机器人也很困难。通过将基础模型用于机器人,可以部分地解决泛化问题。而在不同机器人形态上泛化这样更进一步的问题还有待解答。

数据稀缺

为了开发出可靠的机器人模型,大规模的高质量数据至关重要。人们已经在努力尝试从现实世界收集大规模数据集,包括自动价值、机器人操作轨迹等。并且从人类演示收集机器人数据的成本很高。不过,由于任务和环境的多样性,在现实世界收集足够且广泛的数据的过程还会更加复杂。在现实世界收集数据还会有安全方面的疑虑。另外,在现实世界中,大规模收集数据非常困难,而要收集到训练基础模型所使用的互联网规模级的图像/文本数据,那就更困难了。

为了解决这些挑战,许多研究工作都尝试了在模拟环境中生成合成数据。这些模拟能提供真实感很强的虚拟世界,让机器人可以在接近真实的场景中学习和使用自己的技能。但是,使用模拟环境也有局限性,尤其是在物体的多样性方面,这使得所学到的技能难以直接用于真实世界情况。

一种颇具潜力的方法是协作式数据收集,即将不同实验室环境和机器人类型的数据收集到一起,如图 4a 所示。但是,该团队深度研究了 Open-X Embodiment Dataset,发现在数据类型可用性方面还存在一些局限性。

模型和原语要求

经典的规划和控制方法通常需要精心设计的环境和机器人模型。之前的基于学习的方法(如模仿学习和强化学习)是以端到端的方式训练策略,也就是直接根据感官输入获取控制输出,这样能避免构建和使用模型。这些方法能部分解决依赖明确模型的问题,但它们往往难以泛化用于不同的环境和任务。

这就引出了两个问题:(1) 怎么学习能很好泛化的与模型无关的策略?(2) 怎么学习好的世界模型,以便应用经典的基于模型的方法?

任务规范

为了得到通用型智能体,一大关键挑战是理解任务规范并将其根植于机器人对世界的当前理解中。通常而言,这些任务规范由用户提供,但用户只能有限地理解机器人的认知和物理能力的局限性。这会带来很多问题,包括能为这些任务规范提供什么样的最佳实践,还有起草这些规范是否足够自然和简单。基于机器人对自身能力的理解,理解和解决任务规范中的模糊性也充满挑战。

不确定性和安全性

为了在现实世界中部署机器人,一大关键挑战是处理环境和任务规范中固有的不确定性。根据来源的不同,不确定性可以分为认知不确定性(由缺乏知识导致不确定)和偶然不确定性(环境中固有的噪声)。

不确定性量化(UQ)的成本可能会高得让研究和应用难以为继,也可能让下游任务无法被最优地解决。有鉴于基础模型大规模过度参数化的性质,为了在不牺牲模型泛化性能的同时实现可扩展性,提供能保留训练方案同时又尽可能不改变底层架构的 UQ 方法至关重要。设计能提供对自身行为的可靠置信度估计,并反过来智能地请求清晰说明反馈的机器人仍然是一个尚未解决的挑战。

近来虽有一些进展,但要确保机器人有能力学习经验,从而在全新环境中微调自己的策略并确保安全,这一点还依然充满挑战。

当前研究方法概况

本文还总结了用于机器人的基础模型的当前研究方法。该团队将机器人领域使用的基础模型分成了两大类:用于机器人的基础模型和机器人基础模型(RFM)。

用于机器人的基础模型主要是指以零样本的方式将视觉和语言基础模型用于机器人,也就是说无需额外的微调或训练。机器人基础模型则可能使用视觉 - 语言预训练初始化来进行热启动和 / 或直接在机器人数据集上训练模型。

分类详情

用于机器人的基础模型

这一部分关注的是视觉和语言基础模型在机器人领域的零样本应用。这主要包括将 VLM 以零样本方式部署到机器人感知应用中,将 LLM 的上下文学习能力用于任务层面和运动层面的规划以及动作生成。图 6 展示了一些代表性的研究工作。

机器人基础模型(RFM)

随着包含来自真实机器人的状态-动作对的机器人数据集的增长,机器人基础模型(RFM)类别同样变得越来越有可能成功。这些模型的特点是使用了机器人数据来训练模型解决机器人任务。

研究团队总结和讨论了不同类型的 RFM。首先是能在单一机器人模块中执行一类任务的 RFM,这也被称为单目标机器人基础模型。比如能生成控制机器人的低层级动作的 RFM 或可以生成更高层运动规划的模型。在文章中还会介绍能在多个机器人模块中执行任务的 RFM,也就是能执行感知、控制甚至非机器人任务的通用模型。

基础模型能怎样帮助解决机器人挑战?

前文列出了机器人领域面临的五大挑战。这里将介绍基础模型可以怎样帮助解决这些挑战。

所有与视觉信息相关的基础模型(如 VFM、VLM 和 VGM)都可用于机器人的感知模块。而 LLM 的功能更多样,可用于规划和控制。机器人基础模型(RFM)通常用于规划和动作生成模块。表 1 总结了解决不同机器人挑战的基础模型。

从表中可以看到,所有基础模型都擅长泛化各种机器人模块的任务。LLM 尤其擅长任务规范。另一方面,RFM 擅长应对动态模型的挑战,因为大多数 RFM 都是无模型方法。对于机器人感知来说,泛化能力和模型的挑战是相互耦合的,因为如果感知模型已经具有很好的泛化能力,就不需要获取更多数据来执行领域适应或额外微调。

另外,在安全挑战方面还缺乏研究,这会是一个重要的未来研究方向。

当前的实验和评估概况

这一部分总结了当前研究成果的数据集、基准和实验。

数据集和基准

仅依靠从语言和视觉数据集学到的知识是存在局限的。正如一些研究成果表明的那样,摩擦力和重量等一些概念无法仅通过这些模态轻松学习到。

因此,为了让机器人智能体能更好地理解世界,研究社区不仅在适应来自语言和视觉领域的基础模型,也在推进开发用于训练和微调这些模型的大型多样化多模态机器人数据集。

目前这些工作分为两大方向:从现实世界收集数据以及从模拟世界收集数据再将其迁移到现实世界。每个方向都各有优劣。其中从现实世界收集的数据集包括 RoboNet、Bridge Dataset V1、Bridge-V2、. Language-Table、RT-1 等。而常用的模拟器有 Habitat、AI2THOR、Mujoco、AirSim、Arrival Autonomous Racing Simulator、Issac Gym 等。

对当前方法的评估分析(Meta-Analysis)

该团队的另一大贡献是对本综述报告中提到的论文中的实验进行了元分析,这可以为理清以下问题有所帮助:

1. 人们研究解决的是哪些任务?

2. 训练模型使用了哪些数据集或模拟器?测试用的机器人平台有哪些?

3. 研究社区使用了哪些基础模型?解决任务的效果如何?

4. 这些方法中更常使用哪些基础模型?

表 2-7 和图 11 给出了分析结果。

该团队通过 Meta-analysis 得到的一些主要观察:

研究社区对机器人操作任务(Manipulation)的关注不平衡

泛化能力(Generalization)和稳健性需要提升

对低层动作(Low-level Control)的探索很有限

控制频率太低(<15Hz),无法部署在真实机器人中(一般需要 100Hz)

缺乏统一的测试基准(Metrics)和测试平台(Simulation or Hardware),使得对比变得非常困难。

讨论和未来方向

该团队总结了一些仍待解决的挑战和值得讨论的研究方向:

  • 如何为机器人具身设定标准基础(grounding)?
  • 安全(Safety)和不确定性(Uncertainty)?
  • 端到端方法(end-to-end)和模块化(Modular)方法是否无法兼容?
  • 对具身的物理变化的适应能力
  • 世界模型(World Model)方法还是与模型无关的方法?
  • 新型机器人平台和多感官信息
  • 持续学习(Continue Learning)
  • 标准化和可复现能力(Reproducibility)

作者 website:

Yonatan Bisk: https://yonatanbisk.com/

Fei Xia: https://fxia22.github.io/

Yafei Hu: https://jeffreyyh.github.io/

Quanting Xie: https://quantingxie.github.io/


http://www.kler.cn/a/380374.html

相关文章:

  • Android `android.graphics` 包深度解析:架构与设计模式
  • C#控件开发3—文本显示、文本设值
  • 前端工程化概述(初版)
  • Maven项目中不修改 pom.xml 状况下直接运行OpenRewrite的配方
  • json字符串或者json文件转换成相应的bean,报错“Unrecognized field xxx , not marked as ignorable”
  • Python vs PHP:哪种语言更适合网页抓取
  • 【JAVA】Java基础—Java开发环境搭建:安装JDK与IDE(如IntelliJ IDEA、Eclipse)
  • 临街矩阵乘以自己转置的含义
  • 气象大模型学习笔记
  • QT:QThread:重写run函数
  • HarmonyOS:UIAbility组件概述
  • k8s 上如何跑 Dolphins 模型
  • CentOS一次性安装 Nginx 的脚本指南
  • MySQL45讲 第十一讲 怎么给字符串字段加索引?
  • TCP建立连接之后怎么保持长连接(检测连接断没断)
  • 面试准备第一版ssm spring-springmvc
  • Swift 开发教程系列 - 第1章:Swift 简介与开发环境配置
  • Ubuntu下网络抓包工具:Wireshark与Tcpdump实例解析
  • 科技 | 谷歌 AI 生成代码争议
  • mysql到doris的DDL整库转换工具
  • Nop平台与APIJSON的功能对比
  • 国际化教育品牌的人力资源管理利器
  • CVE-2024-51567 CyberPanel upgrademysqlstatus 远程命令执行
  • JavaEE初阶-----servlet-api,Maven创建项目,部署,打包,测试全过程
  • 分类模型onnx推理,并生成混淆矩阵
  • 如何在本地Linux服务器搭建WordPress网站结合内网穿透随时随地可访问