文章目录
- 3.11-3.18
3.11-3.18
1.阅读ACL文献并记录
2.查找相关资料学习在阿里云部署ChatGLM3-6B
参考:https://blog.csdn.net/H66778899/article/details/135630030
# 运行
streamlit run /mnt/workspace/ChatGLM3/conposite_demo/main.py
可以得到:
3.学习如何微调
首先需对下载的医疗公开数据集进行处理,选择处理的是内科数据集,大概三万多条数据,70%用作训练集,30%用作验证集/测试集.
用作处理的代码如下,使用智普清言写的:
import pandas as pd
import json
# 加载CSV文件
# 1. 读取CSV文件
df = pd.read_csv('internal.csv')
# 2. 数据预处理
# 这里可以根据需要对数据进行清洗和处理
# 例如,去除重复项:
df.drop_duplicates(inplace=True)
# 处理缺失值:
df.fillna(method='ffill', inplace=True)
# 划分数据集
train_size = int(0.7 * len(df))
train_df = df[:train_size]
dev_df = df[train_size:]
# 转换为JSON格式
def to_json_format(df):
data = []
for _, row in df.iterrows():
conversation = [
{"role": "system", "content": "你是一名"+row['department']+"医生"},
{"role": "user", "content": row['title']},
{"role": "assistant", "content": row['answer']}
# ... 根据你的数据结构添加更多回合
]
data.append({"conversations": conversation})
return data
train_data = to_json_format(train_df)
dev_data = to_json_format(dev_df)
# 保存为JSON文件
with open('train.json', 'w', encoding='utf-8') as f:
json.dump(train_data, f, ensure_ascii=False, indent=4)
with open('dev.json', 'w', encoding='utf-8') as f:
json.dump(dev_data, f, ensure_ascii=False, indent=4)
数据集的问答存在的问题为:有些回答包含无意义内容,有些回答的语句不通顺,先作为保留问题,等跑通了再做处理
官方微调文档:https://github.com/THUDM/ChatGLM3/blob/main/finetune_demo/README.md
使用阿里云DSW微调ChatGLM3-6B:https://blog.csdn.net/a131529/article/details/134895649