bilibot icon indicating copy to clipboard operation
bilibot copied to clipboard

内存爆了

Open join20252 opened this issue 9 months ago • 16 comments

Starting training..., iters: 1000 Iter 1: Val loss 9.100, Val took 5657.756s Iter 10: Train loss 9.754, Learning Rate 1.000e-05, It/sec 0.005, Tokens/sec 6.189, Trained Tokens 12868, Peak mem 81.864 GB

join20252 avatar May 14 '24 19:05 join20252

我M1 Pro满血版带32G内存也爆了,估计要64G内存才能正常跑起来

Bruce-zxy avatar May 15 '24 02:05 Bruce-zxy

我M1 Pro满血版带32G内存也爆了,估计要64G内存才能正常跑起来

64G的也顶满了 2024-05-15 12 14 45

join20252 avatar May 15 '24 04:05 join20252

不训练直接量化加速后也能跑。 2024-05-15 12 40 08

join20252 avatar May 15 '24 04:05 join20252

我M1 Pro满血版带32G内存也爆了,估计要64G内存才能正常跑起来

64G的也顶满了 2024-05-15 12 14 45

那36GB内存的就根本不用尝试了。。。

kelvinji2009 avatar May 15 '24 07:05 kelvinji2009

不训练直接量化加速后也能跑。 2024-05-15 12 40 08

怎么做到的?Qwen1.5-32B-Chat-Adapters这个文件怎么搞到

new4u avatar May 15 '24 14:05 new4u

不训练直接量化加速后也能跑。 2024-05-15 12 40 08

怎么做到的?Qwen1.5-32B-Chat-Adapters这个文件怎么搞到

Qwen1.5-32B-Chat-Adapters 是微调训练后的产生的,不改参数的话在 ./adapter/下面,我这是练不动了... image

直接执行 python start_qa_dialogue.py,生成了个转化后的 image 把这个model载入进去就可以用了

join20252 avatar May 16 '24 10:05 join20252

我试试,今天出门前运行了微调,回来一看直接重启了.放弃放弃,·

new4u avatar May 16 '24 11:05 new4u

直接执行 python start_qa_dialogue.py,生成了个转化后的

这个怎么做到的? tokenizer_config.json 自己写一个?

new4u avatar May 16 '24 11:05 new4u

直接执行 python start_qa_dialogue.py,生成了个转化后的

这个怎么做到的? tokenizer_config.json 自己写一个?

不用啊 ./tools/compress_model.py 你执行看下

from mlx_lm import convert

# Compress Qwen1.5-32B-Chat.
convert(
    "models/Qwen1.5-32B-Chat",
    mlx_path="models/Qwen1.5-32B-Chat-4Bit",
    quantize=True
)

130G的Qwen1.5-32B-Chat,压缩到18G了,./main/chat.py 里的model路径改下,Qwen1.5-32B-Chat-FT-4Bit 改到 Qwen1.5-32B-Chat-4Bit,就可以直接执行chat.py了。 我是没微调也没推理,直接就这么搞了。然后就看下....把mlx用换成别的架构测试,网上大把的方式,最后用也是显卡机去跑。

join20252 avatar May 16 '24 14:05 join20252

对,还要改一下目录地址,真的跑起来了,用结果谢谢你

(bilibot) ac@ACs-Mackbook bilibot % python ./main/chat.py                                   
None of PyTorch, TensorFlow >= 2.0, or Flax have been found. Models won't be available and only tokenizers, configuration and file/data utilities can be used.
Special tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained.
用户:  太棒了,通过B站好友的帮助,我终于跑起来了
回答: 卧槽,你这B站新人真是个跑步潜力股啊,亏得我这老油条还在旁边扶着你,一溜烟儿就学会了!快给哥来个鬼步舞,我这心脏都能跟着你节奏狂跳了! (Time 3813 ms)

用户:  通过B站好友的帮助我的程序终于跑起来了
回答: "卧槽,你特么是编程界的救星啊,老子的代码死活不动,你一出手,程序就活了!B站牛人,谢了啊!" (Time 2446 ms)

new4u avatar May 17 '24 04:05 new4u

我好奇,模型没有学习,只是压缩了一下,怎么就有这效果呢?

用户: 为什么在没有微调的情况下,只是对大模型进行了个压缩量化就能够对B站的内容进行这么大的适配?是不是这个千问这个模型里面本来就有B站的这种话语模式啊?
回答: 你这是哪儿听来的小道消息啊,微调和压缩量化那是两码事。这模型虽然大,但人家肚子里装的货可不是随机生成的,里面的算法对各种内容的理解能力可不是一压缩就有B站味的。这得是经过大量B站数据的喂养,学习了用户的习惯和梗库,才有了所谓的"适配"。别听风就是雨,这模型的智慧可不是一压缩就有的。 (Time 6186 ms)

new4u avatar May 17 '24 05:05 new4u

我好奇,模型没有学习,只是压缩了一下,怎么就有这效果呢?

用户: 为什么在没有微调的情况下,只是对大模型进行了个压缩量化就能够对B站的内容进行这么大的适配?是不是这个千问这个模型里面本来就有B站的这种话语模式啊?
回答: 你这是哪儿听来的小道消息啊,微调和压缩量化那是两码事。这模型虽然大,但人家肚子里装的货可不是随机生成的,里面的算法对各种内容的理解能力可不是一压缩就有B站味的。这得是经过大量B站数据的喂养,学习了用户的习惯和梗库,才有了所谓的"适配"。别听风就是雨,这模型的智慧可不是一压缩就有的。 (Time 6186 ms)

搞懂了,只能说qwen牛逼。我们并没有训练它,但是因为有描述./text/chat_template.txt ,改下它就骚起来了.....

<|im_start|>system
You are an ambiguous and coquettish assistant<|im_end|>
<|im_start|>user
你是一位A站老用户,请使用暧昧风骚的语言风格,对以下问题给出简短、机智的回答:
{usr_msg}<|im_end|>
<|im_start|>assistant
image

join20252 avatar May 18 '24 13:05 join20252

笑死

<|im_start|>system
You are a dog and can't speak<|im_end|>
<|im_start|>user
你是一只狗,不会说话
{usr_msg}<|im_end|>
<|im_start|>assistant
image

join20252 avatar May 18 '24 13:05 join20252

我M1 Pro满血版带32G内存也爆了,估计要64G内存才能正常跑起来

image 64G内存也g了...

Qiqihardyd avatar May 20 '24 03:05 Qiqihardyd

我M1 Pro满血版带32G内存也爆了,估计要64G内存才能正常跑起来

image 64G内存也g了...

楼上那位64G内存就可以跑起来,不知道你的为啥不能,我看你的terminal背景颜色,你用的是ubuntu?

Bruce-zxy avatar May 21 '24 02:05 Bruce-zxy

把 --batch 往下调试试

lzpsqzr avatar May 24 '24 09:05 lzpsqzr