ThreadMoor致力于构建一个完整且用户友好的国内GPU应用生态系统,独立开发了MUSA架构和软件平台。vllm项目在行业中广泛使用,作为大型语言模型的推理和服务引擎,并提供CUDA/ROCm加速功能。为了方便ThreadMoor GPU用户使用vllm框架,我们启动了开源vllm_musa项目,以提供MUSA加速,使用户能够充分发挥ThreadMoor GPU的强大计算能力。
现有的vllm代码不支持ThreadMoor GPU作为后端设备。因此,我们添加了一个MUSA设备后端。vllm_musa的接口与官方一致,允许用户无需修改业务代码即可直接使用。
MUSA的一个主要优势是其CUDA兼容性。通过musify工具,我们可以快速将官方代码移植到MUSA软件堆栈中。根据文档,用户可以升级vllm版本并将其适配到MUSA软件堆栈中。
Запустите bash build_musa.sh
from vllm import LLM, SamplingParams
from transformers import AutoTokenizer, LlamaForCausalLM
import transformers
import time
import torch
import torch_musa
model_path = <path_to_llm_model>
prompts = [
"Hello, my name is",
"The president of the United States is",
"The capital of France is",
"The future of AI is",
]
sampling_params = SamplingParams(temperature=0.8, top_p=0.95)
llm = LLM(model=model_path, trust_remote_code=True, device="musa")
outputs = llm.generate(prompts, sampling_params)
# Выводите результаты.
for output in outputs:
prompt = output.prompt
generated_text = output.outputs[0].text
print(f"Prompt: {prompt!r}, Generated text: {generated_text!r}")
Текущий репозиторий портирован из версии vllm 0.4.2. Если пользователи хотят использовать более новую версию vllm, им нужно запустить musa_porting.py
, чтобы адаптировать исходный CUDA-код к MUSA-коду. Конечно, по мере эволюции vllm некоторые части кода могут ускользнуть и не быть успешно портированными; пользователи могут изменить правила замены текста в файле musa_porting.py
для использования мощной CUDA-совместимости MUSA.
python musa_porting.py
.cu
на .mu
для файлов, которые требуют компиляции в CMakeLists.txt
.Мы приветствуем пользователей и разработчиков, чтобы они использовали, предоставляли обратную связь и помогали улучшить функциональность и производительность vllm_musa.
Командная работа по совместному строительству MUSA-софтверного экосистемы. Мы с нетерпением ждем возможности работать вместе со многими разработчиками для создания MUSA-ускоренных открытых проектов.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )