公*众*号:AI疯人院
4月9日,知名大型模型开源平台Stability.ai在其官网上发布了全新的类ChatGPT模型——Stable LM 2 12B。
据了解,Stable LM 2 12B模型拥有120亿个参数,其训练数据涵盖了英语、西班牙语、德语等7种语言的2万亿个tokens。该模型提供了基础版本和指令微调版本两种选择,能够生成文本、代码等各种内容,并可作为RAG(Retrieval-Augmented Generation)的核心组件来使用。
此外,Stability.ai还对其之前发布的Stable LM 2 1.6B模型进行了更新,尤其是在硬件需求方面进行了大幅优化。因此,这两个模型非常适合小型企业和个人开发者使用。在性能方面,它们也超越了Qwen1.5-14B-Chat、Mistral-7B-Instruct-v0.2等其他知名的开源小参数同类模型。
12B开源地址:https://huggingface.co/stabilityai/stablelm-2-12b
1.6B新版本:https://huggingface.co/stabilityai/stablelm-2-1_6b-chat
技术报告:https://arxiv.org/abs/2402.17834
在线demo:https://huggingface.co/spaces/stabilityai/stablelm-2-chat
StableLM 2介绍
Stable LM 2 12B/1.6B都采用了Transformer架构,具有24层结构,并配置了32个自注意力头。这一架构的模型在预训练阶段使用了包含大约2万亿tokens的庞大且多样化的公开数据集。
这些数据集包括了多个领域,例如:
-
学术论文数据集:如Arxiv、PubMed、S2ORC、PhilPapers等,这些数据集包含了丰富的科学研究和学术成果。
-
图书和小说数据集:如BookCorpusOpen、PG-19、FanFics等,这些数据集则提供了广泛的文学资源。
通过在这些数据集上的预训练,Stable LM 2 12B/1.6B能够吸收和学习到大量的知识和语言模式,从而提高其在多种自然语言处理任务中的表现。这种预训练方式使得模型能够更好地理解和生成自然语言,增强了模型的通用性和适应性。
在训练策略方面,Stability.ai采取了一些高效的技术手段来优化Stable LM 2 12B/1.6B模型的训练过程。具体来说:
-
FlashAttention-2技术:这是一种序列并行优化技术,它允许模型在训练时处理更长的上下文序列,而不会牺牲速度或增加过多的计算资源消耗。使用这种技术,Stability.ai能够以4096的上下文长度从头开始训练Stable LM 2模型,这对于提高模型的理解长距离依赖和长期记忆能力是有益的。
-
BFloat16混合精度训练:为了提高训练效率和减少内存占用,Stability.ai采用了BFloat16(Brain Float 16)格式进行混合精度训练。BFloat16是一种16位浮点数格式,它在保持足够精度的同时,相比于32位浮点数(FP32),可以减半内存使用量和提高运算速度。
-
AdamW优化器:在训练过程中,Stability.ai使用了标准的AdamW(Adaptive Moment Estimation with Weight Decay)优化器。AdamW是一种流行的优化算法,结合了Adam的自适应学习率特性和权重衰减(Weight Decay),有助于防止过拟合,并加速模型的收敛。
通过这些训练策略的应用,Stability.ai能够有效地训练出性能强大的Stable LM 2 12B/1.6B模型,同时保证了训练的效率和模型的质量。这些策略的使用也体现了Stability.ai在深度学习模型训练方面的专业性和技术实力。
模型微调阶段,Stability.ai使用了监督微调(SFT)、直接偏好优化(DPO)和自我知识学习三种方法,对生成的文本进行排序,然后使用排序结果来调整模型的参数,使其生成更符合人类偏好的文本。
多轮对话基准测试:StableLM 2 1.6B与其他模型在MT-Bench多轮对话任务上进行了深度对比。StableLM 2 1.6B的综合得分与规模明显更大的模型如Mistral-7B和MPT-30B不相上下,在某些指标上甚至获得了更高的分数。