Ruka hadi maudhui makuu
Mafunzo ya AI

Endesha Naive-N0.5-Flash Kwenye Kompyuta Yako Kwa Kutumia Transformers

Jifunze kinachofanya Naive-N0.5-Flash ifae kwa uandishi wa msimbo na utafiti wa AI, elewa usanifu wake mseto wa SWA–DSA, sakinisha vitegemezi vinavyohitajika vya Transformers, na tengeneza maandishi kwa kutumia uzani wa FP8 uliotolewa.

Endesha Naive-N0.5-Flash Kwenye Kompyuta Yako Kwa Transformers

Naive-N0.5-Flash Ni Nini?

Naive-N0.5-Flash ni modeli ya Mixture-of-Experts yenye uzito wazi iliyoundwa kwa ajili ya uandishi wa msimbo na utafiti na maendeleo ya AI. Ina jumla ya vigezo bilioni 309, huku vigezo bilioni 15.5 vikiwa hai, na inatumia dirisha asilia la muktadha lenye hadi tokeni milioni 1.

Uzito wa modeli na msimbo wa inference umetolewa chini ya Leseni ya MIT. Unaweza kuipata modeli kwenye Hugging Face na mradi wa chanzo kwenye GitHub.

Vipengele Muhimu

  • Muktadha asilia wa tokeni milioni 1: Modeli hutumia mseto wa Sliding-Window Attention (SWA) na DeepSeek Sparse Attention (DSA), bila tabaka za full-attention.
  • Ufanisi wa MoE: Ingawa modeli ina jumla ya vigezo bilioni 309, ni bilioni 15.5 pekee vinavyotumika kwa kila tokeni.
  • Mtazamo wa uandishi wa msimbo na R&D ya AI: Modeli ilifunzwa kuboresha uwezo wa uhandisi wa programu, utafiti na uboreshaji wa mifumo.
  • Inference ya FP8: Checkpoint iliyotolewa inatumia inference ya usahihi mchanganyiko kwenye GPU za NVIDIA zinazotumia FP8.
  • Inference yenye throughput ya juu: Mfumo wa inference wa NaiveRT unachanganya mega-kernel fusion, Programmatic Dependent Launch na speculative decoding. README inaripoti hadi tokeni 50 kwa sekunde kwa kila mtumiaji katika hali ya Standard na hadi tokeni 2,000 kwa sekunde katika hali ya Ultrafast.

Elewa Muundo wa Hybrid Attention

Naive-N0.5-Flash hutumia tabaka 48 za transformer: tabaka 39 za SWA na tabaka 9 za DSA. SWA hupunguza attention ya eneo hadi dirisha la tokeni 128, huku DSA ikitumia indexer kutathmini historia yote na kuchagua tokeni 2,048 za juu kwa attention ya backbone.

Modeli imepangwa katika moduli nane zenye tabaka sita kila moja. Moduli ya kawaida huwa na tabaka tano za SWA zikifuatiwa na tabaka moja la DSA, huku tabaka la kwanza la moduli ya kwanza pia likibadilishwa kuwa DSA. DSA hutumia grouped-query attention yenye makundi manne ya key-value, yanayojulikana kama GQA4, na indexer yake ina vichwa 16 vya query.

Muundo huu huweka sehemu kubwa ya ukokotoaji wa attention kuwa wa eneo huku ukiruhusu taarifa iliyochaguliwa kutoka kwenye muktadha mrefu kuathiri uundaji. Akiba kamili ya key-value huhifadhiwa, lakini backbone huhudhuria tokeni za DSA zilizochaguliwa pekee.

Mahitaji ya Vifaa na Usakinishaji

Naive-N0.5-Flash inahitaji GPU za NVIDIA zinazotumia FP8. Uzito wa modeli unachukua takribani GB 315, na unapaswa kutenga kumbukumbu ya ziada ya GPU kwa ajili ya inference.

README inatoa mwanzo wa haraka unaotumia Transformers. Sakinisha toleo jipya la Transformers pamoja na PyTorch na kernels zinazohitajika:

pip install "transformers[torch,kernels]>=5.17.0"

Endesha Modeli kwa Transformers

Baada ya kusakinisha utegemezi na kuhakikisha kuwa rasilimali zinazohitajika za GPU zinapatikana, pakia checkpoint ya FP8 kutoka Hugging Face. Mfano ufuatao huunda tokenizer, hupakia modeli, huweka ujumbe wa mtumiaji katika muundo unaofaa na hutengeneza jibu:

from transformers import AutoModelForCausalLM, AutoTokenizer

model_id = "NaiveAI/Naive-N0.5-Flash-FP8"
tokenizer = AutoTokenizer.from_pretrained(
    model_id,
    trust_remote_code=True,
)
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    trust_remote_code=True,
    dtype="auto",
    device_map="auto",
)

inputs = tokenizer.apply_chat_template(
    [{"role": "user", "content": "Hello!"}],
    add_generation_prompt=True,
    return_dict=True,
    return_tensors="pt",
).to(model.device)

output = model.generate(
    **inputs,
    max_new_tokens=2048,
)
response = tokenizer.decode(
    output[0, inputs["input_ids"].shape[1]:],
    skip_special_tokens=True,
)
print(response)

Jinsi Mfano Unavyofanya Kazi

  1. Chagua checkpoint: NaiveAI/Naive-N0.5-Flash-FP8 hutambulisha modeli ya FP8 kwenye Hugging Face.
  2. Pakia tokenizer: trust_remote_code=True huwezesha msimbo maalum wa Transformers wa hazina ya modeli.
  3. Pakia modeli: dtype="auto" huwezesha Transformers kutumia aina ya data inayofaa ya checkpoint, huku device_map="auto" ikiweka vipengele vya modeli kwenye vifaa vinavyopatikana.
  4. Weka mazungumzo katika muundo unaofaa: apply_chat_template hubadilisha ujumbe wa mtumiaji kuwa muundo unaotarajiwa na modeli na kuongeza prompt ya uundaji.
  5. Tengeneza maandishi: max_new_tokens=2048 huweka kikomo cha idadi ya tokeni mpya zitakazotengenezwa.
  6. Decode jibu pekee: Sehemu inayoanza baada ya urefu wa ingizo huondoa prompt ya awali kabla ya kuchapisha maandishi yaliyotengenezwa.

Mipangilio Inayopendekezwa ya Uundaji

Kwa matumizi ya jumla, mradi unapendekeza kuweka temperature=1.0 na top_p=0.95. Thamani hizi hazijajumuishwa katika mfano mdogo wa README, lakini unaweza kuzipitisha kwa generate unapotaka kuweka wazi tabia ya sampling:

output = model.generate(
    **inputs,
    max_new_tokens=2048,
    temperature=1.0,
    top_p=0.95,
)

Tumia thamani inayofaa ya max_new_tokens kulingana na kazi yako. Vikomo vikubwa vinaweza kutoa majibu marefu zaidi na kuhitaji muda na kumbukumbu zaidi ya uundaji.

Mambo ya Kuzingatia katika Matumizi ya Juu

Tumia Muktadha Mrefu kwa Makusudi

Dirisha la muktadha la tokeni milioni 1 linaungwa mkono kiasili kupitia usanifu mseto wa SWA–DSA. Kwa misimbo mikubwa, nyenzo za utafiti au kazi zinazohusisha faili nyingi, toa muktadha unaohusika kwa njia iliyopangwa na weka maagizo wazi. Usanifu huu umeundwa kuhifadhi maelezo ya eneo kupitia SWA huku ukichagua historia muhimu kupitia DSA.

Panga Uwezo wa GPU Kabla ya Kupakia

Kifurushi cha checkpoint kinachukua takriban GB 315 kabla ya kuhesabu kumbukumbu ya ziada ya inference. Thibitisha kuwa usanidi wako wa GPU ya NVIDIA inayoweza kutumia FP8 una uwezo wa kutosha kabla ya kuanzisha modeli. Uwekaji wa vifaa kiotomatiki kupitia device_map="auto" unaweza kusambaza modeli kwenye vifaa vinavyopatikana, lakini haupunguzi jumla ya kumbukumbu inayohitajika na checkpoint pamoja na runtime.

Fikiria Kutumia Inference Iliyoboreshwa

README inaeleza NaiveRT kama mfumo wa inference ulioboreshwa wa mradi. Mbinu zake zinajumuisha mega-kernel fusion, Programmatic Dependent Launch, na speculative decoding. Ikiwa unahitaji throughput ya juu zaidi ya deployment ya msingi ya Transformers, soma blogu ya kiufundi ya mradi kwa uchanganuzi wa NaiveRT na maelezo ya utekelezaji.

Kagua Muktadha wa Benchmark

Tathmini zilizochapishwa zinahusu uandishi wa msimbo, uhandisi wa programu, kazi za kiwakala, utafiti wa AI, na uboreshaji wa mifumo. Kwa ujumla, matokeo yalitathminiwa kwa kutumia Claude Code 2.1.207, dirisha la muktadha la tokeni 1M, temperature 1.0, top-p 0.95, pamoja na zana za msingi za file I/O na Bash isipokuwa ilipoelezwa vinginevyo. Chukulia ulinganishaji wa benchmark kuwa unategemea harness na itifaki za tathmini zilizoelezwa.

Leseni na Rasilimali Zaidi

Naive-N0.5-Flash imetolewa chini ya MIT License. Kwa matoleo ya modeli na miradi inayohusiana, tembelea shirika la NaiveAI kwenye GitHub au wasifu wa NaiveAI kwenye Hugging Face. Maelezo ya kiufundi kuhusu usanifu, mchakato wa mafunzo, na maboresho ya inference yanapatikana kwenye blogu ya kiufundi ya mradi.

Hitimisho

Naive-N0.5-Flash inachanganya muundo wa MoE wenye vigezo 309B na vigezo 15.5B vinavyotumika, attention mseto ya SWA–DSA, na dirisha asilia la muktadha la tokeni 1M. Ili kuijaribu ndani ya mfumo wako, sakinisha Transformers pamoja na kernels zinazohitajika, tumia hardware ya NVIDIA inayoweza kutumia FP8 yenye takriban GB 315 kwa ajili ya weights, pakia checkpoint kutoka Hugging Face, na tengeneza majibu kwa mipangilio ya sampling iliyopendekezwa.