llama.cpp下8K context支持(实验性) #696
Replies: 7 comments 6 replies
-
GPU推理和微调 可以支持8K吗 |
Beta Was this translation helpful? Give feedback.
-
位置插值那篇论文吗?可否提供一个python对RotaryEmbedding修改的示例?还是说像 https://kaiokendev.github.io/til#extending-context-to-8k 这里一样,简单的对t除以8或者4就可以。 |
Beta Was this translation helpful? Give feedback.
-
真是让人惊喜。 |
Beta Was this translation helpful? Give feedback.
-
理论上chinese-llama和chinese-alpaca,context都可以通过scale拓展到8k甚至更长吧?alpaca是经过sft训练过的,不知道scale会不会对效果有影响。 |
Beta Was this translation helpful? Give feedback.
-
Update: transformers下支持4K+ context的代码请参考#705 |
Beta Was this translation helpful? Give feedback.
-
根据在测试集上测试结果,仅根据当前的seq_len缩放会比在初始化时就缩放的ppl低 |
Beta Was this translation helpful? Give feedback.
-
Update
2023/7/3 transformers下支持4K+ context的代码请参考#705
正文
主要针对以下几个问题进行讨论:
已知本项目提出的中文LLaMA和Alpaca模型训练时的长度为512,而原版LLaMA的长度是2048,那么我们的模型是否支持2048(2K)context?
近期关于扩展大模型context长度的讨论很多,有没有“无创升级”模型的方案?
本讨论针对llama.cpp项目中的一个讨论里提到的方法进行了实验验证,探索在llama.cpp下进一步加长context长度的方法。
修改方法
整体修改方法很简单,多数用户只需执行第一步代码替换和重新编译。
找到以下语句:
替换为(以防万一,建议是注释原实现,而不是删除):
该文件中一共有4处相关定义,建议全部修改。
powf
函数需要改为pow
。实验结果
以下是原RoPE方法和新方法在不同context length下的PPL对比。以下以LLaMA-Plus-7B-Q6_K(效果与FP16相差0.1%以内)为测试模型,评测中文文本数据上的PPL。
./perplexity -m zh-llama-models/p7b/ggml-model-q6_k.bin -f text.txt -ngl 1 -c $CTX_SIZE
结论和建议
Beta Was this translation helpful? Give feedback.
All reactions