OpenELM是苹果开源的一系列大模型,包括整套最终模型、一些模型的中间checkpoint、training log以及训练框架和具体配置等。由于OpenELM是专门为苹果的生态系统设计的,因此在Windows环境下直接安装OpenELM是不可行的。以下是苹果OpenELM的相关信息:
模型设计
- 所有linear层都没有使用biaspre-norm + RMSNormRoPEGQASwiGLU FFN和LLAMA相同的tokenizer这些都是比较常规的设计。和目前其他主流模型比较不同的是,苹果参考《Delight: Deep and light-weight transformer》,在OpenELM采用了layer-wise scaling的设计。通常来说,主流模型的设计是每层都使用一样的超参,比如注意力头的数量,和hidden size的大小等。但是他们认为这样的设计在参数量的分配上不够高效,不能很好发挥这么多参数的效果,因此对每层的超参进行scaling。
数据预训练
- 数据来源包括:RefinedWebdeduplicated PILEa subset of RedPajamaa subset of Dolma v1.6总共1.8T token,各个来源具体token数量如下表数据中小于200 character或者小于256 token的数据都会被筛出来不使用。
训练
- 训练超参:总共约350k stepAdamW optimizercosine learning rate schedule,warmup=5kweight decay = 0.1gradient clipping = 1.0各个规模模型的结构超参、训练设置和资源消耗如下表。
如果您需要在Windows环境下进行与OpenELM相关的开发或研究,建议使用支持Linux的操作系统,因为OpenELM的主要开发和测试环境是在Linux下进行的。此外,您可以在GitHub上找到OpenELM的代码库和相关资源。