OLMoE: 开源混合专家语言模型
OLMoE OLMoE: Open Mixture-of-Experts Language Models 项目地址: https://gitcode.com/gh_mirrors/ol/OLMoE
1. 项目介绍
OLMoE(Open Mixture-of-Experts Language Models)是一个完全开放、最新一代的混合专家模型,拥有1.3亿个活跃参数和69亿个总参数。该项目提供了论文“OLMoE: Open Mixture-of-Experts Language Models”的所有资源和代码,包括预训练、适应和推理等阶段的数据、代码和日志。
2. 项目快速启动
安装与启动
使用 vLLM
首先安装 vllm 库:
pip install vllm
然后运行以下代码启动模型:
from vllm import LLM, SamplingParams
model = LLM("allenai/OLMoE-1B-7B-0924")
out = model.generate("Bitcoin is", SamplingParams(temperature=0.0))
print("Bitcoin is" + out[0].outputs[0].text)
使用 llama.cpp
安装 llama.cpp,下载量化后的GGUF最终检查点(例如olmoe-1b-7b-0924-q4_0.gguf),然后在shell中运行以下命令:
llama-cli -m olmoe-1b-7b-0924-q4_0.gguf -p "Bitcoin is" -n 128
使用 transformers
首先安装 transformers 和 torch 库:
pip install transformers torch
然后运行以下代码启动模型:
from transformers import OlmoeForCausalLM, AutoTokenizer
import torch
DEVICE = "cuda" if torch.cuda.is_available() else "cpu"
model = OlmoeForCausalLM.from_pretrained("allenai/OLMoE-1B-7B-0924").to(DEVICE)
tokenizer = AutoTokenizer.from_pretrained("allenai/OLMoE-1B-7B-0924")
inputs = tokenizer("Bitcoin is", return_tensors="pt")
inputs = {k: v.to(DEVICE) for k, v in inputs.items()}
out = model.generate(**inputs, max_length=64)
print(tokenizer.decode(out[0]))
3. 应用案例和最佳实践
推理
OLMoE已经被集成到vLLM、SGLang、llama.cpp和transformers中。由于transformers实现较慢,建议尽可能使用其他实现,例如vLLM。
预训练
克隆OLMo分支,创建一个包含其依赖项的环境:
cd OLMo; pip install -e .
下载数据,进行标记化,并调整训练配置文件中的路径指向标记化的数据。
适应
克隆Open Instruct并按照其设置指南操作。根据需要适应后,运行以下命令进行微调:
accelerate launch --mixed_precision bf16 --num_machines 1 --num_processes 8 --use_deepspeed --deepspeed_config_file configs/ds_configs/stage3_no_offloading_accelerate.conf open_instruct/finetune.py --model_name_or_path allenai/OLMoE-1B-7B-0924 --tokenizer_name allenai/OLMoE-1B-7B-0924 --use_flash_attn --max_seq_length 4096 --preprocessing_num_workers 128 --per_device_train_batch_size 2 --gradie
4. 典型生态项目
目前OLMoE的生态项目包括但不限于vLLM、SGLang、llama.cpp等,这些项目都在不同程度上集成了OLMoE模型,为用户提供更多样化的使用场景和选择。
OLMoE OLMoE: Open Mixture-of-Experts Language Models 项目地址: https://gitcode.com/gh_mirrors/ol/OLMoE
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考