山东大学项目实训纪实 2024.4.14

本周阅读了文章DrugChat: Towards Enabling ChatGPT-Like Capabilities on Drug Molecule Graphs,这篇文章介绍了一种名为DrugChat的系统,旨在将ChatGPT类似的功能应用于药物分子图,从而革新我们与这些复杂实体互动和理解的方式。通过将这些分子图转化为适合AI分析的形式,我们可以实现化学空间的动态探索,有效预测化合物性质,并为药物设计和优化提供智能建议。DrugChat系统由图神经网络(GNN)、大型语言模型(LLM)和适配器组成,用户可以上传化合物分子图并询问有关该化合物的各种问题,系统将以多轮互动方式回答这些问题。该系统的训练数据集包含10,834种药物化合物和143,517个问答对,使得模型能够进行端到端的训练。文章还介绍了与药物性质分析相关的其他研究工作,以及DrugChat系统在药物分子图上的应用和未来发展方向。


部署模型

1.准备代码和环境

git克隆DrugChat的存储库,创建python环境并进行验证。该项目中已经有environment.yml文件,包含所有需要的环境及其版本,可以直接使用。

git clone https://github.com/UCSD-AI4H/drugchat
cd drugchat
conda env create -f environment.yml
conda activate drugchat

2.安装pyg

运行安装PyTorch Geometric.

conda install pyg=2.3.0 pytorch-scatter=2.1.0 -c pyg

3.准备语言模型Vicuna的weight权重(包含delta权重和真正的权重的差值)

Vicuna是一个基于LLAMA的开源LLM,性能接近ChatGPT。本次我们使用的轻量级的v0版本的Vicuna-7b(本来想用13b的,但是目前还没有找到可以用的13b的weight权重)

首先需要准备Vicuna 的权重,从抱抱脸网站上下载Vicuna的增量weight

git clone https://huggingface.co/lmsys/vicuna-7b-delta-v0  #注意 这里需要安装git-lfs

接下来需要从HuggingFace上获取原始的LLAMA-7B权重,可以通过填写问卷获得,实测不可以,填了问卷以后就没有后文了,建议从网上找一些别人提供的磁力链接里面的权重,收到版权限制这里就不放了。我也只是找到了7b的权重。同时找到的权重不是hf的,可以利用convert_llama_weights_to_hf.py文件转化一下。

两个weight准后好了以后,可以使用Vicuna团队的工具来创建真正的weight。首先,通过以下方式安装与 v0 Vicuna兼容的库。

pip install git+http://github.com/lm-sys/FastChat.git@v0.1.10

然后运行以下命令创建最终权重(ps:如果命令失败了,检查以下路径是否写对了,文件是否正常更新,以及文件内容是否都正常上传到服务器了)

python -m fastchat.model.apply_delta --base /path/to/llama-7b-hf/ --target /path/to/save/working/vicuna/weight/ -- delta /path/to/vicuna-7b-delta/v0

 最终我们得到了一个类似这个架构的权重

vicuna_weights
├── config.json
├── generation_config.json
├── pytorch_model.bin.index.json
├── pytorch_model-00001-of-00003.bin
...   

然后在 项目/pipeline/configs/models/drugchat.yaml 中的第16行,把生成权重的位置加上


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值