Alignment in LLM
对齐什么?
- 人类的沟通习惯
- 不答非所问;不说太多废话;没有逻辑错误
- GPT-3 -> InstructGPT
- 人类的价值观
- 不产生错误的、不安全的、有偏见的回答
- 其他人类的期望💡
- 比如:
- 更擅长精准地使用工具(API)
- 更擅长理解用户观看兴趣
- 更擅长挖掘视频卖点
- 更擅长将一个用户query转写成便于系统理解query
- 比如:
对齐的成本?
InstructGPT 提到了Alignment Tax,LLM在对齐后,会在传统的NLP任务上掉点。
PPO in LLM详解
策略梯度的通用形式
$\nabla_\theta J(\theta)=E_{\tau \sim \pi_\theta}[\sum_{t=0}^T\nabla_\theta log \pi_\theta(a_t|s_t)\Phi_t]$
- 其中,$\Phi_t$可以是各种形式:
- 如 $\Phi_t = R(\tau)$
- 或者 $\Phi_t = \sum_{t’=t}^T R(s’_t, a_t’)$
- 或者 $\Phi_t = \sum_{t’=t}^T R(s’_t, a_t’) - b(s_t)$
- 也可以是 $\Phi_t = A(s_t,a_t)=Q(s_t,a_t)-V(s_t)$
用优势函数可以降低 $\Phi_t$ 的方差。
策略梯度的 $\Phi_t$ 如果用蒙特卡洛的方式来估算,就是REINFORCE算法;如果用一个critic model来学,就是Actor-Critic架构。PPO本质上采用了Actor-Critic架构。
Python异步编程
协程(Coroutines)的优点:协程由于由程序主动控制切换,没有线程切换的开销,所以执行效率极高。对于IO密集型任务非常适用,如果是cpu密集型,推荐多进程+协程的方式。
Generator
理解yield
表达式
方法中包含yield
表达式后,Python会将其视作generator对象,不再是普通的方法。
1 | def test(): |
图文预训练梳理
小引
去年在工作中,研究了一段时间的图文预训练,对这块的发展脉络比较清楚,也在工作中尝试捣鼓了一些解决方案。这里记录梳理一下。本文的目标是梳理图文预训练整体的发展方向,着重分析为什么会这么发展,而不仅仅是论文解读的罗列。追溯的时间区间为2019年到2022年初。
什么是图文预训练?
先用一句话概括:图文预训练借鉴了文本预训练的范式,对图文输入进行预训练,并应用于下游图文交互任务。
现实的人工智能一定是多模态的,对人类来说,图文是两个很重要的模态,以至于在AI领域,CV和NLP也几乎是各占半壁江山。那问题就来了,我们能不能直接研究图文兼备的模型呢?CV和NLP的交叉领域的问题应该怎么解呢?这些问题,都催生出了图文预训练。
我们内心的冲突和矛盾
来写作吧!
昨夜北京大雪,清早伫窗前远眺,久违的清晰的雪白一片。
好久没有写点东西了,近日偶然翻看以前写的文章,没有像预想中那样觉得曾经写的文字很幼稚,反而是从中发现了久违的感动,甚至还有些启发。于是心头涌上了一个想法:再来写作吧!
我之前的一波写作狂热期是高三、大一的时候,经常在QQ空间发一些自己思考的文章。那时写作对我是一种思考的方式。我常常写之前根本不知道要写什么,随着意识流开始写,开始思考。这种文字的一个缺点是目的性比较弱,你不知道它最初想表达的是什么,而且私货很多;优点是真实,思考的意识流大体都能在文字行进中捕捉到,而且写的时候的心流体验很强,越写会觉得头脑越清晰。
到大三开始准备考研、后面读研、工作,自己一直在忙碌的节奏,把大部分的精力投给立身之本的工作上,剩余的时间则是奖励式的自我放逐。生活的大部分快乐来自于工作上的正反馈,看的数也大多是技术类或者工具类的书。刚开始工作那段时间,内心处于缺乏安全感的状态,期待自己快点变成技术大牛。身边都是优秀的同学,时常会担心自己不能胜任某项工作,患得患失。现在回头想想,那应该是“工具人”的常态。
期初我的应对之法是学习心理学知识,比如阅读一些如何处理焦虑情绪的小册子。但总是有种没解决根本痛点的感觉,对症而不对根。不过生活也可以这样继续。