LLM面面观之Prefix LM vs Causal LM

1. 背景

关于Prefix LM和Causal LM的区别,本qiang在网上逛了一翻,发现多数客官只给出了结论,但对于懵懵的本qiang,结果仍是懵懵...

因此,消遣了多半天,从原理及出处,交出了Prefix LM和Causal LM两者区别的更为清楚的说明

2. Prefix LM

Prefix LM,即前缀语言模型,该结构是Google的T5模型论文起的名字,望文知义来说,这个模型的”前缀”有些内容,但继续向前追溯的话,微软的UniLM已经提及到了。

Prefix LM其实是Encoder-Decoder模型的变体,为什么这样说?解释如下:

(1) 在标准的Encoder-Decoder模型中,Encoder和Decoder各自使用一个独立的Transformer

( 2) 而在Prefix LM,Encoder和Decoder则共享了同一个Transformer结构,在Transformer内部通过Attention Mask机制来实现。

继续展开下Attention Mask机制,马上主题就有解了!

与标准Encoder-Decoder类似,Prefix LM在Encoder部分采用Auto Encoding (AE-自编码)模式,即前缀序列中任意两个token都相互可见,而Decoder部分采用Auto Regressive  (AR-自回归)模式,即待生成的token可以看到Encoder侧所有token(包括上下文)和Decoder侧已经生成的token,但不能看未来尚未产生的token。

下面的图很形象地解释了Prefix LM的Attention Mask机制(左)及流转过程(右)。

        

Prefix LM的代表模型有UniLM、T5、GLM(清华滴~)

3. Causal LM

了解了Prefix LM后,再来看Causal LM就简单的多了~

Causal LM是因果语言模型,目前流行地大多数模型都是这种结构,别无他因,因为GPT系列模型内部结构就是它,还有开源界的LLaMa也是。

Causal LM只涉及到Encoder-Decoder中的Decoder部分,采用Auto Regressive模式,直白地说,就是根据历史的token来预测下一个token,也是在Attention Mask这里做的手脚。

参照着Prefix LM,可以看下Causal LM的Attention Mask机制(左)及流转过程(右)。

        

Ps(图真是个好东西,一图胜万字呀)

4. 如何选取

两种结构均能生成文本,应该如何选择呢?只能说仁智见仁智。本qiang也搜寻了一番,有一篇google的论文,从理论上推导了Causal LM在情境学习(In-Context Learning)中比不上Prefix LM,感兴趣地客官可以看看论文。

5. 总结

一句话足矣~

前缀语言模型可以根据给定的前缀生成后续的文本,而因果语言模型只能根据之前的文本生成后续的文本。

6. 参考

(1) google T5: https://arxiv.org/pdf/1910.10683v4.pdf

(2) 微软UniLM: https://arxiv.org/pdf/1905.03197.pdf

(3) google理论评估PLM与CLM: https://arxiv.org/pdf/2308.06912.pdf

### 使用 LM Studio 构建和训练大型语言模型 (LLM) LM Studio 是一种强大的工具,旨在帮助用户轻松地实验不同类型的 LLM 并调整其配置以满足具体需求。以下是有关如何使用 LM Studio 来构建和训练 LLM 的详细介绍。 #### 工具概述 LM Studio 提供了一个直观的图形界面,使研究人员和技术人员能够在不需要深入编码的情况下测试多种模型及其变体[^2]。此外,它还支持对现有模型进行微调,以便更好地适应特定应用场景或领域数据[^1]。 #### 准备工作 在开始之前,请确保已经安装好必要的软件环境以及准备好用于训练的数据集。如果计划从头创建一个新的 LLM,则还需要收集足够的高质量语料作为初始材料;而对于希望改进已有解决方案的情况来说,则只需准备少量标注样本即可完成迁移学习过程[^5]。 #### 步骤说明 ##### 1. 加载基础模型 进入 LM Studio 后台页面,在指定位置填写远程服务器地址或其他相关信息后连接成功。接着可以从下拉菜单中挑选合适的预训练权重文件夹名称加载相应版本的基础架构实例出来待后续操作处理[^4]。 ```bash # 连接到LMStudio服务端示例命令行 lmstudio connect --url http://your-lm-studio-server.com/api/v1/ ``` ##### 2. 配置参数设定 根据实际项目情况修改默认选项值比如批次大小(batch size)、最大长度(max length)等超参数值直到满意为止。注意这里可能涉及到较多专业知识所以建议初学者先查阅官方文档再做改动以免影响最终效果稳定性[^3]。 ##### 3. 导入自定义数据源 上传本地整理完毕后的文本集合至平台云端空间或者直接链接外部数据库接口读取实时更新的内容片段供给算法进一步加工利用。 ##### 4. 执行训练流程 确认无误之后提交作业请求等待计算节点分配资源启动正式迭代运算阶段直至收敛结束得到优化过的全新参数组合形式保存下来备用[^1]。 ##### 5. 测试验证成果 最后选取若干典型样例输入新生成的预测函数当中观察输出结果是否符合预期目标进而判断整体方案可行性高低程度作出适当反馈修正措施提升准确性水平[^2]。 --- ### 注意事项 - 尽管 LM Studio 功能强大且易于上手但对于完全没有任何经验的人来说仍然可能存在一定难度因此强烈推荐事先熟悉相关理论基础知识后再动手实践。 - 如果遇到任何疑问可以直接访问社区论坛寻求其他开发者们的协助共同解决问题加快进度效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mengrennwpu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值