HELIX V2 SFT-v3
HELIX V2 เป็นโมเดลภาษาแบบ custom PyTorch ที่มีเป้าหมายสำคัญคือให้สามารถรันบน
CPU ได้ โดยออกแบบให้ทำงานภาษาไทยเป็นหลักและรองรับภาษาอังกฤษ, JSON, การทำตาม
คำสั่ง และ tool-oriented conversation
โมเดลนี้ไม่ใช่ Transformers checkpoint จึงต้องใช้โค้ดใน helix/ ร่วมกับ
helix_model.pt และ tokenizer_th.json เสมอ
แนวคิดของโมเดล
HELIX แยกความสามารถออกเป็นสามส่วน:
- Cortex คือ neural language model หลัก ทำหน้าที่สร้างภาษา การให้เหตุผล การวางแผน และการตอบตามบริบท
- Controller เป็นหัว route ที่เรียนรู้จาก SFT ให้เลือก
general,knowledgeหรือhybridโดย route ไม่ได้แทนฐานความรู้ถาวร - 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.0pythainlp/thai-local-instruction-v2— CC BY 4.0openthaigpt/thai-qa-multiturn-answer-dataset— Apache-2.0airesearch/wangchanx-seed-free-synthetic-instruct-thai-120k— MITThaiLLM/med-app-instruct— MIT; ถูกจำกัดไว้ไม่เกิน 5% ของส่วน medicalhelix_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 metadataconfig.json— architecture summarytokenizer_th.json— tokenizer ที่ตรงกับ weightshelix/— model, recurrent operations, tokenizer และ serving componentstraining_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
- -