非常酷的部落格由 @character_ai 深入探討他們如何訓練他們的專有模型 Kaiju (13B, 34B, 110B),在轉向 OSS 模型之前,劇透:這一切都與 Noam Shazeer 有關。 模型設計的多數選擇(MQA、SWA、KV Cache、量化)並不是為了優化 "AGI 基準"(想想 MMLU),因為這不是人們使用模型的目的,而是為了擁有良好的服務速度。不過,他們在預訓練混合中包含了代碼,並對高質量的 "基準友好" 數據進行了退火處理。 一個令人驚訝的事情是,這些模型並不是 MoEs,儘管當時在 character 工作的人,如 @stephenroller 或 Noam 之前曾在 MoE 上工作過。 以下是他們所做的一些優化: -> 類似 MuP 的縮放 -> MQA + SWA -> 到處進行夾緊以控制激活,不確定是軟還是硬? -> KV Cache 共享 -> Relu^2 激活函數 -> FSDP + TP + SP -> Int6 梯度通信 -> 量化感知訓練 (QAT),使用 "bungee_scalar" 等技術來獲得較小模型的穩定配方。KV Cache 和前向傳遞使用 int8,梯度和激活使用 bf16,主權重和梯度累積使用 fp32。