【debug记录】ChatGLM2-6b微调中遇到的问题

(1)bug:运行ptuning/train.sh报错,报错点 torch.distributed.TCPStore,报错 RuntimeError: Connection reset by peer

fix:在报错点发现获取到的 master_addr 为自定义的主机名而非 localhost,导致网络连接错误,故将 ~/anaconda3/envs/chatglm2-6b/lib/python3.10/site-packages/torch/distributed/rendezvous.py 的244行将 master_addr 变量强制设为127.0.0.1而非自定义的主机名。(参考 MASTER_ADDR and MASTER_PORT · Issue #43207 · pytorch/pytorch · GitHub 和 Runtime error: connection reset by peer in init_process_group - distributed - PyTorch Forums

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
ChatGLM-6B 模型的部署可以分为以下几个步骤: 1. 下载模型:您可以从 EleutherAI 的 GitHub 仓库下载 ChatGLM-6B 模型。 2. 安装依赖:为了运行 ChatGLM-6B,您需要安装 PyTorch、Transformers 和 Flask 等必要的依赖。 3. 编写代码:您需要编写代码来加载模型并将其包装在 Flask 应用程序。一个简单的示例代码如下: ```python from transformers import AutoTokenizer, AutoModelForCausalLM import torch from flask import Flask, request, jsonify app = Flask(__name__) # 加载模型和tokenizer tokenizer = AutoTokenizer.from_pretrained("EleutherAI/gpt-neo-2.7B") model = AutoModelForCausalLM.from_pretrained("EleutherAI/gpt-neo-2.7B") # 设置模型为eval模式并移动到GPU上(如果有的话) device = torch.device("cuda" if torch.cuda.is_available() else "cpu") model.eval() model.to(device) # 定义API路由 @app.route('/chat', methods=['POST']) def chat(): # 解析请求的数据 data = request.json message = data['message'] # 对输入进行编码 inputs = tokenizer.encode(message, return_tensors='pt').to(device) # 生成回复 outputs = model.generate(inputs, max_length=50, do_sample=True) # 对输出进行解码 reply = tokenizer.decode(outputs[0], skip_special_tokens=True) # 返回回复 return jsonify({'reply': reply}) if __name__ == '__main__': app.run(debug=True, port=5000) ``` 4. 运行应用程序:运行 Flask 应用程序,并通过 API 调用与 ChatGLM-6B 进行交互。 以上是 ChatGLM-6B 模型部署的简单示例,您可以根据实际情况进行修改和扩展。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值