- 博客(6)
- 收藏
- 关注
原创 模型参数量与显存大小关系
qwen/Qwen-1_8B-Chat-Int4 # 半字节[4位整数,精度损失很大,适用于对精度要求不高但对资源要求苛刻的场景] 0.5*1.8≈0.9G --> 实际1.88GB。q8_0 q6_k q5_k_m q5_0 q4_k_m q4_0 q3_k_m q2_k 不同的优化格式选择。qwen/Qwen-1_8B-Chat-Int8 # 1字节[8位整数] 1*1.8≈1.8G --> 实际 2.5G。,但是同样有很多显卡吃不消。
2024-07-22 16:48:00
1514
原创 大模型配置文件,生成文本长短与停用词介绍
模型推理生成id ---->长度是否等于max_new_tokens ----> 是,则截止;否,继续判断 ----> id是否等于eos_toekn ----> 是,则截止;生成配置文件中,可以看到模型在generate()使用的一些配置参数,停用词的变量名为eos_token,在qwen中,停用词的设置为151645和151643。2.chat模型,生成的最大长度max_new_tokens,但是它会设定终止符提前结束。在配置文件中,修改停用词,我们添加上句号的token_id 1773作为停用词。
2024-07-22 16:35:59
1540
原创 分词器tokenizer属性与特殊字符详解
----------------------------------- 如何添加特殊字符避免被拆分?---------------------------------tokenizer.convert_ids_to_tokens(50256) ------ # 50256对应的字符。---------------------------------- 验证 ------------------------------------
2024-07-17 12:02:11
3793
原创 transformers的单卡推理与多卡推理
base模型无法以问答格式回答问题,同样,输出也会按照最大max_new_token输出【没有经过chat微调,没有学到|im_start|,|im_end|,|endoftext|这几个特殊字符,无法输出/推理出这几个字符,就无法按照模式策略提前终止输出【early_stop】!下面的推理过程,只是以gpt2这个小模型为例,实际上这是一个base模型,并没有经过指令微调,无法chat问答,这个框架没有任何意义!【base模型实质上就是一个按照max_length生成的工具】3.多GPU分布式推理。
2024-07-16 17:50:49
1444
原创 以gpt2为例generate()生成函数流程
penalty_alpha :penalty_alpha在损失函数中添加的惩罚系数,用于控制生成的文本多样性的参数。pad_token一般用于批量处理,当批量推理时就会出现pad_token。包括在batch_encode_plus【当缺少pad时需要给tokenizer提前设置pad_token】1.eos_token_id,bos_token_id,pad_token_id在上面推理过程中貌似没有用到?2.校验模型输入,生成参数【pad_token_id默认等于eos_token_id】
2024-07-15 19:49:15
2058
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人