DJ
DJ
这样有个问题,那应该怎样使用初始化的特征向量呢?比如要使用初始化的词向量,词向量是300维。将特征向量设置为单位矩阵,feature是[node,node]大小,但是使用初始化的特征向量,feature该是[node,300]么?
同,完全相同代码和数据(修改了system的prompt),Qwen1.5-1.8B使用官方所给微调脚本后,transformer和vllm加载都无问题;Qwen1.5-0.5B在transformer加载无问题,但vllm加载后不符合预期,输出"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
vllm bug: https://github.com/QwenLM/Qwen1.5/issues/122, 升级vllm==0.4.0版本的vllm解决该bug.
想得到具体结果的话,top_p和temperature都设为0.01, do_sample设为False,应该是差在do_sample这个参数上了,可以试试
> > 想得到具体结果的话,top_p和temperature都设为0.01, do_sample设为False,应该是差在do_sample这个参数上了,可以试试 > > 问题得到了解决,但是我有点好奇的是,generate方法生成的接口耗时比chat的接口耗时要久得多,看了一下model_chatglm.py文件,chat方法里面其实是调用了generate方法的,反而性能更好,这是为什么呢 我这边简单测试了10个样例,输出时间基本一致
> > > > 能方便把你的测试代码共享一下吗 ```python # chat max_length = 2048 top_p = 0.01 # 越小越确定 temperature = 0.01 # 越小越确定 import time t1 = time.time() for _ in range(10):...
> 哦 我测试了下长度30左右的文本,没搞那么大。
> 有可能是显卡计算的精度误差导致的。只要生成结果都合理即可吧 相同环境相同显卡,也降低了各种生成稳定性的参数。部署的还是想结果可复现吧,不开batch预测速度太慢了
> 我看eval时候,样本都是padding在前面的,这个是为啥呢 因为自回归预测时,结果会依据上一个字符。所以如果按照常规pad右边,很大程度上依赖pad在输出,不太合理。因此pad在左边,让模型尽可能地依赖输入,减少pad的影响吧。(个人理解)