大创日记

2025/4/3

在跑readme里的实例代码时出现了第一个环境问题

cannot import name ‘oneshot’ from ‘llmcompressor’

我们可以用下面的代码检查库里的函数

1
2
import llmcompressor
print(dir(llmcompressor))

发现确实是没有对应的函数

我们可以查阅这段评论里尝试找到解决方法

https://github.com/vllm-project/llm-compressor/issues/1257

2025/4/12

解决师兄指定模型跑时的环境问题

1
2
3
import llmcompressor==0.4.1
# 将原示例代码from llmcompressor import oneshot 替换为
# from llmcompressor.transformers.finetune import oneshot

2025/4/20

文件传输经验

本机Windows,从本地传输大量文件到云服务器的经验

LordShark一早上快被文件传输整疯了,希望自己的经验对uu们有帮助,不用再浪费时间在查找文件传输办法上了/(ㄒoㄒ)/

打开PowerShell,输入scp -r -P 1234 "C:\...\...\" username@cloud_ip:/.../

-r 代表递归复制文件和文件夹

-P 1234代表指定端口1234【如果租的机子名称一样,则一定要指定端口号,否则连接失败】

“C:..."代表本地要传输的文件夹位置

username 云服务器用户名(一般为root)

cloud_ip 云服务器ip(可以在ssh登录处获取)

后面是云服务器上要存放的位置(如果文件夹不存在,需要手动创建文件夹)

如果是第一次连接会向你确认,输入”yes”即可

然后输入密码,就是ssh连接时的密码(密码隐形,屏幕上不可见,输入后直接回车即可)

就可以愉快地传输数据了[]~ ( ̄▽ ̄) ~*


2025/4/21

conda管理Python虚拟环境

在开发不同的项目时,不同的项目可能依赖于不同版本的库。通过创建虚拟环境,可以为每个项目创建一个独立的环境

在虚拟环境中安装/删除包 不会影响全局环境(可以随便乱造bushi)

打开终端,输入conda create -n myenv 可以创建一个名为myenv的虚拟环境(体现为一个文件夹)

想要指定具体python版本可以在后面跟python=3.8

Linux激活虚拟环境 输入source activate myenv

Windows激活虚拟环境 输入conda activate myenv

看见终端前面会有env出现,代表已经进入虚拟环境

然后就可以随便造 : )

关闭环境conda deactivate

查看已创建的环境conda env list

删除已创建的环境conda remove -n myenv --all

查询环境中有哪些包conda list


2025/4/22

screen实现后台运行

为了解决跑代码的时候无法关闭页面狂玩的问题(bushi) LordShark查了一下如何在后台运行程序
大模型的训练和评测可能花费大量时间 而且as we all know 屏幕黑了或者关闭Jupyter都会触发终端自动挂断

那么如何在服务器开着、电脑关闭的情况下运行代码呢?(可以乘此机会狂玩手机bushi)

打开终端,输入conda list检查一下有没有下载screen

没有下载就输入pip install screen

输入screen看到弹出页面/终端页面更换,就是已经打开screen,按下空格或回车跳过阅读文档

已经打开screen工具,程序在里面运行就是在后台运行的

要回到原终端的话,按下Ctrl+A+D

要回到程序:输入screen -r

结束后台程序:screen页面输入exit

2025/4/23

github上面的实例代码完整跑通的流程

环境和包

1
2
3
!pip install llmcompressor
!pip install vllm
!pip install huggingface_hub

实际运行代码

从镜像网站上下载模型到本地,解决直接跑代码时远程获取模型链接超时的问题。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import os
import subprocess

# 设置镜像站点
os.environ['HF_ENDPOINT'] = 'https://hf-mirror.com'

try:
subprocess.run([
"huggingface-cli",
"download",
"TinyLlama/TinyLlama-1.1B-Chat-v1.0",
"--local-dir",
"./models"
])
except Exception as e:
print(f"下载模型时出错: {e}")

运用本地的模型进行量化

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
from llmcompressor.modifiers.smoothquant import SmoothQuantModifier
from llmcompressor.modifiers.quantization import GPTQModifier
from llmcompressor import oneshot


# 选择量化算法
recipe = [
SmoothQuantModifier(smoothing_strength=0.8),
GPTQModifier(scheme="W8A8", targets="Linear", ignore=["lm_head"]),
]

# 应用量化
oneshot(
model="models",
dataset="open_platypus",
recipe=recipe,
output_dir="TinyLlama-1.1B-Chat-v1.0-INT8",
max_seq_length=2048,
num_calibration_samples=512,
)

秋 2025/4/24

评估库的使用参考知乎:

https://zhuanlan.zhihu.com/p/671235487

最主要的问题是评估使用的部分数据集无法被直接下载

或者在用终端运行评估时,如果出现一整屏的warning,那么很有可能是远程的数据集链接不上了,可以输入一下设置镜像的指令

可以使用

1
export HF_ENDPOINT=https://hf-mirror.com

设置镜像后,在终端运行python代码写的量化程序

2025/4/25

nohup使用方法

类似screen 但是screen是切换终端页面 nohup在后台运行结束后生成output.log日志
nohup运行python代码:

1
nohup python test.py > output.log 2>&1 &

查看output.log:
tail -f output.log
less output.log