Kimi Linear : مدل نسل بعدی 48B با کارایی و مقیاس‌پذیری بالا

کارشناس 17 آبان 1404

Kimi Linear یک مدل با معماری توجه (attention) خطی ترکیبی است که از روش‌های سنتی توجه کامل در زمینه‌های مختلف، از جمله رژیم‌های مقیاس‌بندی کوتاه، بلند و یادگیری تقویتی (RL)، بهتر عمل می‌کند. در هسته آن، Kimi Delta Attention (KDA) قرار دارد. نسخه‌ای اصلاح‌شده از Gated DeltaNet که یک مکانیسم دروازه‌بندی کارآمدتر را برای بهینه‌سازی استفاده از حافظه RNN حالت محدود معرفی می‌کند.

Kimi Linear به عملکرد و کارایی سخت‌افزاری برتر، به‌ویژه برای وظایف با متون طولانی، دست می‌یابد. این معماری نیاز به حافظه‌های نهان بزرگ کلید و مقدار(KV) را تا 75٪ کاهش می‌دهد و توان رمزگشایی را برای متون تا طول 1 میلیون توکن را تا 6 برابر افزایش می‌دهد.

Kimi
(الف) در MMLU-Pro (طول متن 4k)، Kimi Linear به عملکرد 51.0 با سرعتی مشابه با full attention دست می‌یابد. در RULER (طول متن 128k)، عملکرد بهینه پارتو (84.3) و افزایش سرعت 3.98 برابری را نشان می‌دهد. (ب) Kimi Linear در مقایسه با MLA به TPOT 6.3 برابر سریع‌تر دست می‌یابد و سرعت‌های قابل توجهی را در طول توالی‌های طولانی (1 میلیون توکن) ارائه می‌دهد.

هسته KDA در (flash linear attention)FLA متن‌باز گردیده و دو نسخه از نقاط بازرسی مدل آموزش‌دیده با توکن‌های 5.7T را منتشر شده اند.

مدلتعداد کل پارامترهاتعداد پارامترهای فعالطول متنرایاپیوند بارگیری
Kimi-Linear-Base48B3B1Mhttps://huggingface.co/moonshotai/Kimi-Linear-48B-A3B-Base
Kimi-Linear-Instruct48B3B1Mhttps://huggingface.co/moonshotai/Kimi-Linear-48B-A3B-Instruct

ویژگی‌های کلیدی


توجه دلتای کیمی (KDA): یک مکانیزم توجه خطی که قانون دلتای دروازه‌ای را با دروازه‌بندی finegrained اصلاح می‌کند.

معماری ترکیبی: نسبت ۳:۱ KDA به MLA سراسری، استفاده از حافظه را کاهش می‌دهد و در عین حال کیفیت توجه کامل را حفظ یا از آن پیشی می‌گیرد.

عملکرد برتر: در انجام وظایف مختلف، از جمله معیارهای متن بلند و سبک یادگیری تقویتی در اجرای آموزش با تعداد توکن ۱.۴T با مقایسه‌های منصفانه، عملکرد بهتری نسبت به توجه کامل دارد.

توان عملیاتی بالا: رمزگشایی را تا ۶ برابر سریع‌تر می‌کند و زمان هر توکن خروجی (TPOT) را به طور قابل توجهی کاهش می‌دهد.

روش استفاده

استنتاج مدل با استفاده از Hugging Face Transformers

برای استفاده از مدل کیمی خطی محیط اجرای زیر توصیه می‌شود:

pip install -U fla-core
نمونه برنامه پایتون
from transformers import AutoModelForCausalLM, AutoTokenizer

model_name = "moonshotai/Kimi-Linear-48B-A3B-Instruct"
model = AutoModelForCausalLM.from_pretrained(
    model_name,
    torch_dtype="auto",
    device_map="auto",
    trust_remote_code=True
)
tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)

messages = [
    {"role": "system", "content": "You are a helpful assistant provided by Moonshot-AI."},
    {"role": "user", "content": "Is 123 a prime?"}
]
input_ids = tokenizer.apply_chat_template(
    messages, 
    add_generation_prompt=True, 
    return_tensors="pt"
).to(model.device)
generated_ids = model.generate(inputs=input_ids, max_new_tokens=500)
response = tokenizer.batch_decode(generated_ids)[0]
print(response)

استقرار


برای استقرار، می‌توانید از جدیدترین vllm برای ایجاد یک endpoint API سازگار با OpenAI استفاده کنید.

vllm serve moonshotai/Kimi-Linear-48B-A3B-Instruct \
  --port 8000 \
  --tensor-parallel-size 4 \
  --max-model-len 1048576 \
  --trust-remote-code

منبع

https://huggingface.co

دیدگاه شما

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *