模型详细情况和参数
PanGu-Coder2 是一种大型语言模型,专门用于代码生成。它基于一种被称为 RRTF (RankResponses to align Test&Teacher Feedback) 的新框架,该框架结合了多种先进技术,包括指令调整、Evol-Instruct 方法和强化学习。RRTF 的核心思想是通过使用测试信号和人类偏好作为反馈来对响应进行排名,从而引导模型生成更高质量的代码。
在模型架构方面,PanGu-Coder2 是一个基于解码器的 Transformer,具有 Multi-Query-Attention 和学习的绝对位置嵌入。同时,它使用了 FlashAttention 来减少计算和内存使用量,因此模型的最大长度可以扩展到 8192。模型的详细超参数如下:
在训练过程中,PanGu-Coder2 使用了 Evol-Instruct 技术来构建训练语料库,这种技术可以通过深度演化来迭代地从 Alpaca 20K 数据集中获取新的编程问题。通过这些问题,模型可以从不同的模型中采样答案。总的来说,他们收集了一个包含 100K 编程问题及其答案的初始语料库,这些问题和答案被称为指令和解决方案对。此外,他们还对初始语料库进行了数据预处理,并将语料库的大小减少到了 68K。
在训练过程中,PanGu-Coder2 使用了 RRTF 框架,该框架可以根据人类的偏好对来自不同来源的响应进行排名,并通过排名损失函数对模型进行调整。与 RLHF 相比,RRTF 可以有效地将语言模型的输出概率与人类的偏好对齐,只需要在调整期间使用 1-2 个模型,而且在实现、超参数调整和训练方面比 PPO 更简单。