一、配置环境
借鉴 bilibili:爆肝杰哥
1、安装Anaconda
从中国大学的镜像源 https://mirrors.bfsu.edu.cn/anaconda/archive/,下载 2022.10-Win 版
一路next。
下载完成后
将【D:\anaconda】、 【D:\anaconda\Scripts】与【D:\anaconda\Library\bin】添加到环境变量(以d盘为例)。
找到prompt、notebook快捷方式、复制到放到桌面
(可以直接用搜索jupyter)
2、安装PyTorch(GPU 版)库
点击 Prompt 进入 Anaconda 的环境中,接下来的命令均在 Prompt 中执行。
注意,虚拟环境仅起到一个隔离的效果,你在哪里打开的终端,你的工作目录就是哪里。
比如你在des文件夹中打开,使用conda activate进入虚拟环境,然后用mkdir新建文件夹,新建的文件夹会出现在des中。
(来源于bilibili:爆肝杰哥)
3、查看自己电脑GPU,任务管理器---性能--专用GPU内存
本人4050,显存6GB,能够运行internLM2-1.8b。
NVIDIA 显卡中的运算平台是 CUDA,不过,即使您的计算机有 NVIDIA显卡,但您的显卡中也不一定含有 CUDA,没有的话就要下载 CUDA。 而 PyTorch 的下载组件里也会包含一个内置的 cuda。 为了区分,显卡内的 CUDA 用大写,PyTorch 内置的 cuda 用小写。 一般来讲,要满足:CUDA 版本≥cuda 版本。 查看 CUDA 版本的方法是:Win+R 后输入 cmd,进入命令提示符,我们需要输入 nvcc -V。
如果显示“nvcc -V 不是内部或外部命令”,则说明需要安装 CUDA。
后面我们将安装 torch 1.12.0 版本,其可选的内置 cuda 版本是 11.3。因此, 如果您显卡里的 CUDA 低于了 11.3,需要进行升级。
3、安装CUDA
下载链接:CUDA Toolkit Archive | NVIDIA Developer
以12.1.1(April 2023)为例
如果你的电脑是window10可以下载11.3.0(April),我是win11所以选择了新版本。
一路选下来。下载。
下载好之后有弹窗,选择临时解压文件夹。
选项如图,大项只选择cuda,小项不选vs
现在会发现刚才的Tem文件夹消失了,于是可以删掉CUDA文件夹了。
接下来配置环境变量,如果你是按照默认路径 的话,其路径应该是:
⚫ C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA
⚫ C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\lib\x64
⚫ C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\bin
⚫ C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\libnvvp
最后,用刚才的方法回头检查一下 CUDA 版本(cmd 输入 nvcc -V)
成功
4、安装PyTorch
PyTorch 一分为三:torch、torchvision 与 torchaudio。这三个库中,torch 有 2G 左右,而 torchvision 和 torchaudio 只有 2M 左右,因此一般在代码里只会 import torch。当 torch 的版本给定后,另外两个附件的版本也唯一确定了。
双击prompt,使用conda activate“环境名”进入刚才创建的虚拟环境,
使用以下命令下载
pip install torch==1.12.0+cu113 torchvision==0.13.0+cu113 torchaudio==0.12.0 --extra-index-url https://download.pytorch.org/whl/cu113(cuda11.3)
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118(cuda12.1)
我下载的时候网很快,网卡的时候可能会出问题(@.@)。
下载完毕。
然后使用conda list列出所有的库,查看有没有torch、torchaudio、torchvision。
cu118指的是cuda版本号,118也支持12.1.如果是cuda11.3就会显示113.
二次检验:依次输入python,import torch,torch.cuda.is_available(),返回true为成功。
5、代码编辑器
可以使用PyCharm和Jupyter,我选择的是pycharm。
pycharm配置anaconda
弄好之后测试下:
ok。
配置环境到此结束。
二、导入internLM
1、进入虚拟环境安装依赖
pip install modelscope==1.9.5
pip install transformers==4.35.2
pip install streamlit==1.24.0
pip install sentencepiece==0.1.99
pip install accelerate==0.24.1
2、下载权重
去虚拟环境所在的目录(默认是c:/users/用户名)建立download.py,内容如下:
将地址改成你想下载的地址
import torch
from modelscope import snapshot_download, AutoModel, AutoTokenizer
import os
model_dir = snapshot_download('Shanghai_AI_Laboratory/internlm2-chat-1_8b', cache_dir='地址', revision='master')
进入虚拟环境运行download.py
我这个已经下载完了,正常来说会显示下载进度条,大约3.5g。
这时候你就可以在你的下载路径找到cache_dir文件,找到他。
然后在当前位置新建一个文件夹internLM。
进入你新建的文件夹,地址栏输入cmd进入终端
3、git克隆源码
git init
git clone https://github.com/InternLM/InternLM.git
完成后使用pycharm打开internLM文件夹,找到chat/web_demo.py
将load_model()函数修改为:
@st.cache_resource
def load_model():
model = (AutoModelForCausalLM.from_pretrained('../../cache_dir/Shanghai_AI_Laboratory/internlm2-chat-1_8b',
trust_remote_code=True).to(
torch.bfloat16).cuda())
tokenizer = AutoTokenizer.from_pretrained('../../cache_dir/Shanghai_AI_Laboratory/internlm2-chat-1_8b',
trust_remote_code=True)
return model, tokenizer
其中绿色的是权重的相对地址,如有不对自行修改。
将main()函数中图片地址也做更新
user_avator = '../assets/user.png'
robot_avator = '../assets/robot.png'
三、网页运行
在chat文件夹启动终端
右键chat——>open in——>terminal
输入
streamlit run web_demo.py --server.address 127.0.0.1 --server.port 6006
成功在本地运行!
于是得出结论:internLM 能够在本地运行,于是我们继续开展微调工作。
还测试了不同模型的能力
这是internLM2-Chat-1.8B
这是internLM2-1.8B
明显能看出base版本不能进行聊天。