ChatGLM-6B
ChatGLM-6B copied to clipboard
[Feature] 请教在领域语料上训练的步骤
Is your feature request related to a problem? Please describe.
如果有领域上的纯文本语料,想得到某个领域的chatglm,不知可以通过什么步骤来做?
Solutions
是 1)用GLM先进行pretrain,得到领域GLM,然后用指令微调训练集对领域GLM进行微调吗?这样等于ChatGLM的工作得重做了。 2)还是要用这些纯文本自行生成指令微调训练集来微调?如果是,该怎么生成? 3)还是用ChatGLM本身就可以用这些文本来pretrain?
谢谢指点!
Additional context
No response
前天添加的ptuning应当符合你的需求吧 https://github.com/THUDM/ChatGLM-6B/blob/main/ptuning/README.md
{
"content": "类型#上衣*版型#宽松*版型#显瘦*图案#线条*衣样式#衬衫*衣袖型#泡泡袖*衣款式#抽绳",
"summary": "这件衬衫的款式非常的宽松,利落的线条可以很好的隐藏身材上的小缺点,穿在身上有着很好的显瘦效果。领口装饰了一个可爱的抽绳,漂亮的绳结展现出了十足的个性,配合时尚的泡泡袖型,尽显女性甜美可爱的气息。"
}
前天添加的ptuning应当符合你的需求吧 https://github.com/THUDM/ChatGLM-6B/blob/main/ptuning/README.md
{ "content": "类型#上衣*版型#宽松*版型#显瘦*图案#线条*衣样式#衬衫*衣袖型#泡泡袖*衣款式#抽绳", "summary": "这件衬衫的款式非常的宽松,利落的线条可以很好的隐藏身材上的小缺点,穿在身上有着很好的显瘦效果。领口装饰了一个可爱的抽绳,漂亮的绳结展现出了十足的个性,配合时尚的泡泡袖型,尽显女性甜美可爱的气息。" }
如果要形成公司内部的问答模型,问一些公司内部的政策文件,可以用这种模式训练吗,还是说应该有个问答的专门的训练集和训练方法?
前天添加的ptuning应当符合你的需求吧 https://github.com/THUDM/ChatGLM-6B/blob/main/ptuning/README.md
{ "content": "类型#上衣*版型#宽松*版型#显瘦*图案#线条*衣样式#衬衫*衣袖型#泡泡袖*衣款式#抽绳", "summary": "这件衬衫的款式非常的宽松,利落的线条可以很好的隐藏身材上的小缺点,穿在身上有着很好的显瘦效果。领口装饰了一个可爱的抽绳,漂亮的绳结展现出了十足的个性,配合时尚的泡泡袖型,尽显女性甜美可爱的气息。" }
@wywzxxz 这个我看到了。这个应该是finetune的方法,还是需要人工构造输入和输出。训练集数量不会太大。不知有没有直接在纯文本上进行自监督训练的方法和步骤。这样就可以利用海量的领域语料了。
我理解GLM应该是有这种训练方式,但是chatglm所做的指令微调工作是不是就得重做了?
@luieswww 我这边类似的使用场景有测试过非微调的解决方案 主要是基于本地文档的问答,可以参考 langchain-ChatGLM 好处是不需要再做训练,局限性是文本分段、匹配如果效果不好会影响回答效果。
chatllama是这么训练的,中间的那步可以借鉴来在领域语料上训练。我是想达到这样的目的,不知能否在保留chat的能力上达到?
前天添加的ptuning应当符合你的需求吧 https://github.com/THUDM/ChatGLM-6B/blob/main/ptuning/README.md
{ "content": "类型#上衣*版型#宽松*版型#显瘦*图案#线条*衣样式#衬衫*衣袖型#泡泡袖*衣款式#抽绳", "summary": "这件衬衫的款式非常的宽松,利落的线条可以很好的隐藏身材上的小缺点,穿在身上有着很好的显瘦效果。领口装饰了一个可爱的抽绳,漂亮的绳结展现出了十足的个性,配合时尚的泡泡袖型,尽显女性甜美可爱的气息。" }
如果要形成公司内部的问答模型,问一些公司内部的政策文件,可以用这种模式训练吗,还是说应该有个问答的专门的训练集和训练方法?
@luieswww 我也是这种需求,感觉如果靠构建上面的数据集,人工工作量貌似很大。
前天添加的ptuning应当符合你的需求吧 https://github.com/THUDM/ChatGLM-6B/blob/main/ptuning/README.md
{ "content": "类型#上衣*版型#宽松*版型#显瘦*图案#线条*衣样式#衬衫*衣袖型#泡泡袖*衣款式#抽绳", "summary": "这件衬衫的款式非常的宽松,利落的线条可以很好的隐藏身材上的小缺点,穿在身上有着很好的显瘦效果。领口装饰了一个可爱的抽绳,漂亮的绳结展现出了十足的个性,配合时尚的泡泡袖型,尽显女性甜美可爱的气息。" }
@wywzxxz 这个我看到了。这个应该是finetune的方法,还是需要人工构造输入和输出。训练集数量不会太大。不知有没有直接在纯文本上进行自监督训练的方法和步骤。这样就可以利用海量的领域语料了。
我理解GLM应该是有这种训练方式,但是chatglm所做的指令微调工作是不是就得重做了?
我最近也在想这个问题,因为我有一张超大的表格想输入到chatglm中,同时保有其逻辑能力不变。 根据我的调查,目前有两种现成的方式:
- LORA,冻结原模型,并行添加一个秩分解矩阵。详情见此:https://zhuanlan.zhihu.com/p/611557340
- langchain,根据输入检索出相关信息作为输入贴给模型。虽然制约了能力,但不需要重新训练。详情见此:https://github.com/hwchase17/langchain
直接进行,题主的2和3点,是可以的。
请问这个问题最终的结果是应该怎么样进行呢?如何使用领域内大量文本无监督训练呢
直接进行,题主的2和3点,是可以的。
@chenyiwan 不知能更具体地说明一下吗?或者给点参考的链接。多谢了
貌似这个可以,利用chatgpt进行self instruct数据集生成,https://github.com/yizhongw/self-instruct
同问,想用领域数据预训练chatGLM
请问这个问题最终的结果是应该怎么样进行呢?如何使用领域内大量文本无监督训练呢
请问有实现吗?
可以关注下 https://github.com/imClumsyPanda/langchain-ChatGLM/tree/dev 项目。
+1 同问不知道题主现在进行到什么状态了
现在看到的都是两种: 1.对文档拆段,生成embedding索引库,对查询生成embedding检索索引库,拿着检索出来topn调用chatGPT等润色生成答案 2. lora、ptuning等对模型进行finetuning
方案一受制于embedding相关性较差,属于玩具,没法在工业化应用 方案二不确定效果怎么样
还没见过谁实现题主说的 1)用GLM先进行pretrain,得到领域GLM,然后用指令微调训练集对领域GLM进行微调吗?这样等于ChatGLM的工作得重做了 这种形式的。
pretrain的代码是有的。https://github.com/THUDM/GLM 中参考pretrain_glm.py
同问,这个方案有哪位大佬验证过吗?
同问,需要用公司的文本数据训练一个垂直领域的GLM,但是构建训练数据集上不知道如何下手
https://github.com/shibing624/MedicalGPT 参考这个项目,预训练,指令微调,rm模型训练,ppo都有现成的。