大模型微调学习记录-基于GLM-130B

发布时间:2024年01月19日

0. 前序背景?

论文:GLM-130B: AN OPEN BILINGUAL PRE-TRAINED MODEL

GLM2的微调教程

目前GLM2-130B优于或相当GPT-3-175B的性能。

选择130B(1300亿参数)是从硬件性能考虑,可以在单张A100(40Gx8)上进行推理(高端A100 80Gx8),也可以进行INT4量化后在7GB的显存上运行。

GLM130B借鉴了FastTransformer同时使用C++实现,比采用Pytorch实现的BLOOM-176B快7-8倍。

非量化模型约微调0.1%的参数;

量化模型的微调需要借助P-tuning v2平台:P-tuning-v2

全模型参数的微调需要借助微软的DeepSpeed平台:DeepSpeed

1. 运算环境

教程演示是在和鲸平台上的算力,根据算力需求约需要12RMB/h;训练大模型和全参数微调大模型需要使用配套加速套件如由HuggingFace(抱抱脸,不知道为什么起这样一个令人难忘的名字[震惊])团队支持的transformers, transformers包含许多预训练模型,需要从头学习。

部署测试, 使用一片文章作为调试;

FineTurn:使用ADGEN 数据集,任务为根据输入(content)生成一段广告词(summary)如

{    
    "content": "类型#上衣*版型#宽松*版型#显瘦*图案#线条*衣样式#衬衫*衣袖型#泡泡袖*衣款式#抽绳",    
    "summary": "这件衬衫的款式非常的宽松,利落的线条可以很好的隐藏身材上的小缺点,穿在身上有着很好的显瘦效果。领口装饰了一个可爱的抽绳,漂亮的绳结展现出了十足的个性,配合时尚的泡泡袖型,尽显女性甜美可爱的气息。"    
}

的数据集进行微调训练。

这里有个问题就是微调数据是否都是需要像这样组织,特别是prompt中是否需要“#” 和“*”进行划分。输出的summary比较好理解,就是输出一段话。数据的组织还需要看训练数据是如何组织的。

词符化 (tokenized): 词语符号化,是大模型训练中重要的一环。其目的是将语料库中的词汇形成词汇表并编码,以供学习和预测。

文章来源:https://blog.csdn.net/Hero_Never_GIVE_UP/article/details/135603195
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。