Phonsiri commited on
Commit
c9f605c
·
verified ·
1 Parent(s): 05a6901

Upload PROJECT_SUMMARY_TH.md with huggingface_hub

Browse files
Files changed (1) hide show
  1. PROJECT_SUMMARY_TH.md +75 -0
PROJECT_SUMMARY_TH.md ADDED
@@ -0,0 +1,75 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # สรุปสถาปัตยกรรม "Jommarn-Omni 206M" (Multimodal Evolution)
2
+
3
+ จากการปรับปรุงล่าสุด **Jommarn-Tiny** ได้วิวัฒนาการสู่ **Jommarn-Omni** ซึ่งเป็นโมเดลแบบ **Native Multimodal** ที่ทรงพลังที่สุดในขนาดกระทัดรัด โดยมีพารามิเตอร์รวมอยู่ที่ **206 ล้านพารามิเตอร์** ออกแบบมาเพื่อประมวลผลทั้ง **ข้อความ (Text)** และ **รูปภาพ (Vision)** โดยเน้นภาษาไทยเป็นพิเศษ
4
+
5
+ ## 1. องค์ประกอบใหม่: Jommarn-Vision Encoder
6
+ เราได้เพิ่ม **Vision Encoder ที่สร้างขึ้นเองจากศูนย์ (Train from Scratch)** เพื่อรักษาความเบาและประสิทธิภาพ:
7
+ * **Patch Embedding:** หั่นรูปภาพขนาด 224x224 ให้เป็น 196 tokens (Vision Tokens) โดยใช้เทคนิค Linear Projection เพื่อความเสถียรสูงสุด
8
+ * **Intelligence Density:** ใช้ 3 เลเยอร์พิเศษที่มี RMSNorm และ SwiGLU เพื่อสรุปความหมายจากภาพก่อนส่งต่อให้ตัว Thinker
9
+
10
+ ## 2. ภาษาไทยระดับเทพ: Gemma-4 Tokenizer
11
+ เราได้อัปเกรด "พจนานุกรม" ของโมเดลให้เป็นระดับโลก:
12
+ * **Gemma-4 Powered:** ใช้ Tokenizer จากโมเดล Gemma-4 ของ Google ซึ่งตัดคำภาษาไทยได้คมชัดที่สุด
13
+ * **Vocab Size:** 262,144 คำ (ปรับแต่งให้ตรงตามพจนานุกรมจริง เพื่อความเสถียรของระบบ CUDA)
14
+
15
+ ## 3. การทำงานแบบ Native Multimodal (Omni Architecture)
16
+ โมเดลประมวลผลภาพและข้อความใน "สมองเดียว":
17
+ * **Hybrid Attention Schedule:** สลับเลเยอร์แบบ `Local (512 tokens window) -> Global (1024 tokens)` ช่วยให้จดจำรายละเอียดประโยคใกล้เคียงและเชื่อมโยงภาพรวมได้แม่นยำ
18
+ * **Weight Tying:** แชร์น้ำหนักระหว่างตารางคำศัพท์และตัวทำนาย ช่วยประหยัดพื้นที่ VRAM มหาศาล
19
+ * **Next-Token Prediction:** ระบบการสอนที่ถูกต้อง (Target Shifting) ป้องกันการ "ลอกคำตอบ" และบังคับให้โมเดลใช้ตรรกะในการทำนายคำถัดไป
20
+ * **Auto-Resume System:** ระบบวาร์ปข้ามคลาวด์ สามารถดึง Checkpoint ล่าสุดจาก Hugging Face มาเทรนต่อได้ทันทีเมื่อเปลี่ยนเครื่อง
21
+
22
+ ## 4. ข้อมูลเชิงเทคนิค (Technical Specifications)
23
+ * **Total Parameters:** ~206 ล้านพารามิเตอร์
24
+ * **N_EMBED (มิติการเรียนรู้):** 512
25
+ * **N_BLOCKS (ความลึก):** 14 เลเยอร์
26
+ * **Context Length:** 1,024 Tokens
27
+ * **Mixed Data:** ฝึกด้วย Thai Wiki v3 (ความรู้) สลับกับ Thai Handwriting (การอ่านลายมือ)
28
+
29
+ ---
30
+ *วิวัฒนาการโดย Gemini CLI - Jommarn-Omni Engine*
31
+
32
+ ## คู่มือการรัน Jommarn-Omni (ฉบับสมบูรณ์)
33
+
34
+ ### 1. การเตรียมสภาพแวดล้อม
35
+ ```python
36
+ !pip install -q huggingface_hub transformers torchvision pillow tqdm h5py datasets
37
+ ```
38
+
39
+ ### 2. การอัปเดตโค้ดและล้างสถานะ (บังคับทำเมื่อมีอัปเดต)
40
+ 1. **Restart Session** ของ Notebook เพื่อล้างแรม GPU
41
+ 2. รันคำสั่งดึงตัวแก้ไขล่าสุด:
42
+ ```bash
43
+ %cd /teamspace/studios/this_studio/llm-training
44
+ !git pull origin main
45
+ ```
46
+
47
+ ### 3. การตั้งค่าและเริ่มการเทรน (รองรับการ Resume อัตโนมัติ)
48
+ ```python
49
+ import os
50
+ from huggingface_hub import login
51
+
52
+ # 1. Login (ใช้ Token แบบ Write)
53
+ login("YOUR_HUGGINGFACE_TOKEN")
54
+
55
+ # 2. ตั้งชื่อ Repo (ระบบจะดึงไฟ��์จากที่นี่มาเทรนต่อหากในเครื่องไม่มี)
56
+ os.environ["HF_REPO_ID"] = "Phonsiri/Jommarn-AI"
57
+
58
+ # 3. เริ่มการเทรนระดับเทพ (L40S Optimization)
59
+ !export PYTHONPATH=$PYTHONPATH:. && python scripts/train_transformer.py
60
+ ```
61
+
62
+ ### 4. การทดสอบสายตา (Inference)
63
+ ทดสอบความฉลาดของจอมมารหลังจากผ่าน 100 ก้าวแรก:
64
+ ```bash
65
+ !export PYTHONPATH=$PYTHONPATH:. && python scripts/test_omni.py \
66
+ --model "models/jommarn_omni_206m_l40s_latest.pt" \
67
+ --image "test.jpeg" \
68
+ --prompt "รูปภาพนี้คือ"
69
+ ```
70
+
71
+ ---
72
+ **ข้อแนะนำ:** จอมมารออมนิจะทำการสำรองความรู้ขึ้น Hugging Face ทุกๆ **100 Step** โปรดเปิดเน็ตไว้ให้จอมมารด้วยนะครับ! 😈🔥📸
73
+
74
+ เทสส
75
+ !export PYTHONPATH=$PYTHONPATH:/teamspace/studios/this_studio/llm-training && python /teamspace/studios/this_studio/llm-training/scripts/test_omni.py --model "/teamspace/studios/this_studio/llm-training/models/jommarn_omni_206m_l40s_latest.pt" --image "/teamspace/studios/this_studio/llm-training/config/test.jpeg" --prompt "ประเทศไทย"