HELIX V2 SFT-v3

HELIX V2 เป็นโมเดลภาษาแบบ custom PyTorch ที่มีเป้าหมายสำคัญคือให้สามารถรันบน CPU ได้ โดยออกแบบให้ทำงานภาษาไทยเป็นหลักและรองรับภาษาอังกฤษ, JSON, การทำตาม คำสั่ง และ tool-oriented conversation โมเดลนี้ไม่ใช่ Transformers checkpoint จึงต้องใช้โค้ดใน helix/ ร่วมกับ helix_model.pt และ tokenizer_th.json เสมอ

แนวคิดของโมเดล

HELIX แยกความสามารถออกเป็นสามส่วน:

  1. Cortex คือ neural language model หลัก ทำหน้าที่สร้างภาษา การให้เหตุผล การวางแผน และการตอบตามบริบท
  2. Controller เป็นหัว route ที่เรียนรู้จาก SFT ให้เลือก general, knowledge หรือ hybrid โดย route ไม่ได้แทนฐานความรู้ถาวร
  3. Hippocampus / KnowledgeStore เป็นระบบเก็บเอกสารและข้อเท็จจริงภายนอก checkpoint มี provenance และสามารถ retrieve หลักฐานกลับมาให้ Cortex ได้ ข้อมูลความรู้ถาวรจึงไม่ถูกยัดลงในน้ำหนักโมเดลโดยอัตโนมัติ

ภายใน Cortex ใช้ recurrent HELIX blocks, gated linear scan, hyper-connections และ adaptive softmax head ที่ใช้ระหว่างการฝึก โมเดลรุ่นนี้มี:

รายการ ค่า
Parameters 100,909,974
Hidden size 576
Layers 11
Heads 9
Vocabulary 32,000
Sequence length ที่ใช้ฝึก 512
Architecture version 2

Tokenizer เป็น TCC-BPE ที่รักษา Thai character cluster และต้องใช้ไฟล์ tokenizer_th.json ตัวเดียวกับที่ใช้ฝึก มิฉะนั้น token id จะไม่ตรงกับ embedding

Checkpoint นี้ฝึกอย่างไร

helix_model.pt คือผลจาก SFT-v3 full epoch หนึ่งรอบบน base checkpoint 400M โดย manifest ระบุ batch size 32, 13,633 SFT steps และ sequence length 512 น้ำหนักที่เผยแพร่เป็น custom checkpoint ซึ่งฝัง model config และ state dict ไว้

Pretraining set ที่ใช้กับ checkpoint นี้

สำหรับ checkpoint ที่เผยแพร่ในไฟล์นี้ run manifest ระบุ base เป็น helix_v2_400m_tokens.pt และ checkpoint metadata บันทึก pretraining token counter เป็น 410,419,200 tokens หรือประมาณ 410.4M tokens ดังนั้นควร เรียกโมเดลนี้ว่าใช้ 400M base / ประมาณ 410M pretrained tokens ไม่ควรเรียก ว่า pretrained 430M เพราะไม่มีตัวเลข 430M ใน artifact ที่ตรวจสอบได้

upstream pretraining package ที่ใช้เป็นแหล่งสร้าง base มี bucket รวมดังนี้ (ตัวเลขนี้เป็นขนาด package ไม่ใช่ token count ของ checkpoint หลังเลือก base):

Bucket Tokens
Thai 1,200,000,000
English 600,000,000
Parallel 51,775,114
Structured 63,054,908

ตัวเลข bucket ข้างต้นเป็น manifest ของ pretraining package ขนาดใหญ่ที่ใช้สร้าง base checkpoint; ไม่ควรนำยอด 1,914,830,022 tokens ของ package นั้นไปอ้างว่า เป็น token count ที่ checkpoint นี้ผ่านการ pretrain ทั้งหมด เพราะ checkpoint นี้ เริ่ม SFT จาก base รุ่น 400m ตาม run manifest โดยตรง

ข้อมูล pretraining binary ขนาดหลาย GB ไม่ได้รวมใน model repo นี้ เพื่อไม่ทำให้ ผู้ใช้เข้าใจผิดว่าสามารถ reproduce การ pretrain ได้จาก repo นี้เพียงอย่างเดียว

โปรเจกต์มีเอกสาร corpus ระบุแหล่งข้อมูลภาษาไทยหลักจาก Wikimedia Wikipedia snapshot 20231101.th และมีการผสมข้อมูลภาษาอังกฤษ, parallel และ structured ตาม bucket ข้างต้น สำหรับ attribution แบบ source-by-source ให้ยึด manifest ของ pretraining run ที่ใช้สร้างชุด binary เป็นหลัก เพราะ manifest สุดท้ายไม่ได้บันทึก ชื่อ dataset ภายนอกครบทุก bucket

SFT set

SFT-v3 ready ถูกประกอบแบบ additive และแยก train/eval ด้วย conversation-family guards ไม่ให้ครอบครัวเดียวกันรั่วข้าม split รวมทั้งหมด:

Component Train rows Train tokens ลักษณะ
v2_clean 220,126 35,062,135 assistant, English, agent, grounded และ routing ที่ผ่าน quality gate
v3_agentic 34,778 8,003,926 deterministic agent/tool examples; external source list เป็นว่าง
v3_agentic_context 8,000 1,590,399 deterministic multi-turn context/state examples
v3_thai_correct 173,342 15,403,314 Thai instruction, QA, tool loop และ medical-limited examples
รวม 436,246 60,059,774

แหล่งข้อมูลที่ปรากฏใน manifest ของ component Thai correction ได้แก่:

  • pythainlp/han-instruct-dataset-v4.0 — CC BY-SA 4.0
  • pythainlp/thai-local-instruction-v2 — CC BY 4.0
  • openthaigpt/thai-qa-multiturn-answer-dataset — Apache-2.0
  • airesearch/wangchanx-seed-free-synthetic-instruct-thai-120k — MIT
  • ThaiLLM/med-app-instruct — MIT; ถูกจำกัดไว้ไม่เกิน 5% ของส่วน medical
  • helix_sft_v3_deterministic_gap_generator — ข้อมูลที่สร้างแบบ deterministic, ระบุ CC0-1.0 ใน manifest

ส่วน v2_clean มีแหล่งที่มาเพิ่มเติมตาม manifest เช่น allenai/tulu-v2-sft-mixture, HuggingFaceH4/ultrachat_200k, typhoon-ai/typhoon-s-instruct-post-training, rajpurkar/squad, glaiveai/glaive-function-calling-v2, zhangdw/to-tool-call-datasets, รวมถึงข้อมูล generated ของ HELIX และ routing derivation ที่ผ่านการกรอง provenance/duplicate/length ก่อนนำมารวม

ข้อมูล training JSONL และ raw downloads ไม่ได้รวมใน model repo นี้ แต่มีจำนวนแถว, token, revision และ SHA-256 อยู่ใน manifests ของ source run เพื่อให้ตรวจสอบย้อนกลับ ได้ ข้อมูลที่มี license ไม่เหมาะสมหรือ provenance ไม่ชัดเจนถูกปิด/คัดออกตาม policy ของ pipeline

ไฟล์และการใช้งาน

  • helix_model.pt — SFT-v3 weights และ training metadata
  • config.json — architecture summary
  • tokenizer_th.json — tokenizer ที่ตรงกับ weights
  • helix/ — model, recurrent operations, tokenizer และ serving components
  • training_manifest.json — manifest ของ training run
pip install -r requirements.txt
python modeling_helix.py
from modeling_helix import load_pretrained

model, tokenizer, config, metadata = load_pretrained(".", device="cpu")

หรือใช้ interactive serving path:

python scripts/chat.py --checkpoint helix_model.pt --tokenizer tokenizer_th.json --device cpu --default-system

--default-system ใช้ system prompt:

คุณคือ ผู้ช่วยปัญญาประดิษฐ์ภาษาไทย พัฒนาโดยเอ็มมี่ คุณมีความสามารถในการสนทนาและตอบคำถามเป็นภาษาไทยได้อย่างเป็นธรรมชาติ กรุณาตอบคำถามอย่างสุภาพ ถูกต้อง และเป็นประโยชน์

ข้อจำกัดและ license

โมเดลนี้ต้องประเมินผ่าน serving path ของ HELIX ที่ตรงกับ chat rendering และ tokenizer รุ่นฝึก การโหลด state dict สำเร็จไม่ได้ยืนยันคุณภาพการสนทนา ความถูกต้อง ของข้อเท็จจริง หรือความพร้อมใช้งานจริง KnowledgeStore เป็นระบบภายนอก checkpoint และต้อง ingest/retrieve เอกสารที่ผู้ใช้อนุญาตเอง

ข้อมูลแต่ละ component มี license แตกต่างกันตาม source manifest โปรดตรวจ license ของ dataset ต้นทางก่อนนำไปฝึกต่อหรือเผยแพร่ผลลัพธ์เชิงพาณิชย์ ส่วนโค้ดและเงื่อนไข การใช้งานของโปรเจกต์ควรกำหนดโดยเจ้าของ repo ก่อนนำไปใช้ production

Downloads last month
-
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support