SAE (Sparse Autoencoder) ชุดใหม่จาก Alibaba Qwen ที่เปลี่ยนวิธีเราเข้าใจและควบคุม AI ไปตลอดกาล
ลองจินตนาการว่าสมองของ AI เป็นกล่องดำ - เราเห็นคำถามเข้าไป คำตอบออกมา แต่ข้างในเกิดอะไรขึ้นบ้าง ไม่มีใครรู้
SAE (Sparse Autoencoder) ก็เหมือนเครื่อง X-Ray ที่แช่ดูข้างในสมอง AI แล้วบอกได้ว่า "ตอนตอบคำถามนี้ AI ใช้หน่วยความคิดไหนบ้างทำงาน"
ทำไมต้อง "Sparse" (เบาบาง)? เพราะสมอง AI มีหน่วยความคิดเป็นหมื่นๆ อัน แต่ตอนตอบคำถามหนึ่งๆ จะเปิดใช้แค่ไม่กี่อัน เหมือนเราพูดเรื่องอาหาร ก็ใช้แค่ส่วนที่รู้เรื่องรสชาติ+วัตถุดิบ ไม่ได้เปิดความรู้เรื่องฟิสิกส์ควอนตัมขึ้นมาด้วย
จากที่เคยใช้ SAE แค่ "ดู" ว่า AI คิดยังไง Qwen-Scope พูดว่า: เราไม่ต้องแค่ดู เราจะเอามันไปใช้งานจริงๆ ได้ 6 ทาง
สมมุติคุณถาม AI ภาษาอังกฤษว่า "Tell me about recent advances in LLMs" แต่ AI ตอบมาเป็นภาษาจีนปนอังกฤษ แบบ:
"Large Language Models have rapidly evolved beyond simple text generation into more capable and integrated 系统..."
ปกติคุณต้องเขียน prompt ยาวๆ ว่า "Answer in English only, do not mix languages" แล้วก็อาจจะยังไม่หยุด
แต่ด้วย Qwen-Scope SAE จะบอกได้ว่า "ไอ้ feature หมายเลข 6159 นี่แหละที่ทำให้ AI พูดภาษาจีนขึ้นมา" → กดลด feature นี้ลง → AI ตอบภาษาอังกฤษล้วนทันที ไม่ต้องแตะ prompt เลย
อีกตัวอย่าง: อยากให้ AI เขียนภาษาจีนแบบโบราณ (วรรณกรรม) แทนที่จะเขียน prompt ยาวๆ → แค่เปิด feature หมายเลข 36398 (classical Chinese feature) → AI เปลี่ยนสไตล์ทันที
สูตรคือ: hidden state ใหม่ = hidden state เดิม + α × ทิศทางของ feature
α เป็นบวก = เพิ่ม feature นั้น
α เป็นลบ = กด feature นั้นลง
เปรียบเหมือน มิกเซอร์เสียง - ไม่ต้องเปลี่ยนเพลง แค่หมุนช่องไหนขึ้นหรือลงก็เปลี่ยนเสียงได้เลย
ตอนนี้มี benchmark วัดความเก่ง AI เยอะมาก - MMLU, MATH, GSM8K, C-Eval ฯลฯ บางอันวัดอะไรซ้ำกัน แต่จะรู้ได้ยังไง? ต้องรัน AI บนทุก benchmark แล้วเปรียบเทียบ เสียเวลา+เสียตัง
วิธี Qwen-Scope: แทนที่จะรัน AI ให้คิดคำตอบ ใช้ SAE อ่าน "ลายนิ้วมือ" ของ benchmark แทน - คือดูว่า benchmark นั้นเปิด feature อะไรบ้าง
ตัวอย่างผล:
GSM8K (คณิตศาสตร์ประถม) ถูกครอบคลุมโดย MATH (คณิตศาสตร์แข่งขัน) ถึง 63% → ถ้ามี MATH อยู่แล้ว อาจไม่ต้องมี GSM8K
MATH ถูกครอบโดย GSM8K แค่ 10% → MATH วัดอะไรเพิ่มเติมเยอะมาก ต้องเก็บไว้
Benchmark โค้ด (MBPP, EvalPlus, MultiPL-E) คลัสเตอร์เดียวกัน → อาจเลือกแค่อันเดียวพอ
ประโยชน์จริง: ออกแบบชุดทดสอบให้ครอบคลุมทุกด้านโดยไม่เสียเวลารันโมเดลซ้ำซ้อน
ปกติจะฝึก AI ให้จับข้อความร้ายต้องเทรนโมเดล classifier ใหม่ทั้งก้อน
Qwen-Scope บอกว่า: ไม่ต้อง! SAE มี feature ที่จู่ๆ ก็เปิดตัวเองเวลาเจอข้อความพิษอยู่แล้ว แค่หา feature เหล่านั้น → ใช้เป็นกฎแบบง่ายๆ ว่า "ถ้า feature เหล่านี้เปิด = ข้อความพิษ"
ใช้แค่ feature เดียวก็จับได้ F1 > 0.90 ในภาษาอังกฤษ
ข้ามภาษา: feature พิษที่หาจากภาษาอังกฤษ ยังไปจับข้อความพิษภาษารัสเซีย ฝรั่งเศส ได้ดีเลย (เพราะ feature จับ "เจตนาร้าย" ไม่ใช่แค่คำหยาบ)
ใช้ข้อมูลแค่ 10% ก็ได้ผล 99% ของขนาดเต็ม
ปัญหา: ข้อมูลฝึกความปลอดภัยแบบเดิมครอบคลุมแค่ "หมวดใหญ่ๆ" เช่น ความรุนแรง การฉ้อโกง แต่เหลือ "หางยาว" (long tail) เยอะมาก เช่น การพูดถึงการทำร้ายตัวเองด้วยคำเปรียบที่ซ่อนอยู่ หรือการใช้สารเคมีเป็นพิษในแบบที่ไม่คาดคิด
วิธี Qwen-Scope:
เอาข้อมูลฝึกความปลอดภัยที่มีอยู่ ยัดเข้า SAE → ดูว่า feature ไหนที่เกี่ยวกับความปลอดภัยแต่ยังไม่เคยถูกข้อมูลเดิมจับต้องเลย (uncovered features)
ใช้ feature เหล่านี้เป็นเป้าหมาย → สั่งให้ AI สร้างข้อมูลฝึกใหม่ที่ไปจับต้อง feature เหล่านั้น
ตรวจซ้ำระดับ feature → ยืนยันว่าข้อมูลที่สร้างมาจริงๆ แตะ feature เป้าหมาย
ผล: ใช้ข้อมูลสังเคราะห์แค่ 4K ตัวอย่าง ได้ผลดีกว่าข้อมูลจริง 40K-200K ตัวอย่างในหลายด้าน (safety accuracy 77.75% vs 71.75%, แถม capability ทั่วไปไม่ตกด้วย)
ปัญหา: AI ตอบภาษาอังกฤษอยู่ดีๆ ก็ปนภาษาจีน/รัสเซีย/เกาหลีขึ้นมา ฝึก SFT ธรรมดาแก้ยากเพราะมันไม่มีสัญญาณ "อย่าทำ" แบบชัดเจน
วิธี Qwen-Scope (SASFT):
SAE บอกว่า "feature ภาษาจีน" เปิดตัวขึ้นเรื่อยๆ ก่อนที่ AI จะเปลี่ยนภาษา - เหมือนสัญญาณเตือนล่วงหน้า
ตอนฝึก AI ใหม่ เพิ่ม loss term ที่บีบให้ feature ภาษาจีนไม่เปิด ตอนที่ไม่ควรจะเปิด
ไม่ใช่แค่ห้ามผลลัพธ์ แต่แก้ที่จุดกำเนิดในสมอง AI เลย
ผล: ลด code-switching ได้ 72-100% เทียบกับ SFT ธรรมดา แถมความสามารถทั่วไปไม่ตก
ปัญหา: AI บางทีตอบไปตอบมาก็วนลูปซ้ำๆ เช่น "The answer is 42. The answer is 42. The answer is 42..." และไม่รู้จบ ปัญหาคือมันเกิดน้อยมากจนตอนฝึก RL แทบไม่เจอ → ไม่มีสัญญาณเรียนรู้ให้หยุด
วิธี Qwen-Scope:
SAE หา "feature ซ้ำ" ได้ (ก่อน AI จะเริ่มวนซ้ำ feature นี้จะพุ่งขึ้น)
สั่งให้ SAE เปิด feature ซ้ำขึ้นมาเอง → บังคับให้ AI สร้างตัวอย่างที่ซ้ำ (เป็น negative sample)
ยัดตัวอย่างซ้ำเหล่านี้เข้าไปในการฝึก RL → AI ได้สัญญาณชัดเจนว่า "อย่าทำแบบนี้"
เปรียบเหมือน จ้างคนมาเล่นเป็นโจรให้หมาฝึกจับ เพื่อให้หมามีตัวอย่างโจรจริงๆ ได้ฝึก
ความสามารถ | ก่อนหน้า | Qwen-Scope |
|---|---|---|
ดูว่า AI คิดยังไง | ✅ | ✅ |
คุม AI โดยไม่แตะ prompt | ❌ | ✅ หมุน feature ขึ้น-ลง |
ตรวจ benchmark ซ้ำโดยไม่รันโมเดล | ❌ | ✅ ดู feature overlap |
จับข้อความพิษโดยไม่เทรน classifier | ❌ | ✅ ใช้ feature เป็นกฎ |
สร้างข้อมูลฝึกปลอดภัยแบบตรงเป้า | ❌ | ✅ สร้างจาก feature ที่ขาด |
แก้ code-switching ที่ต้นเหตุ | ❌ | ✅ ลด 72-100% |
แก้ AI ตอบซ้ำใน RL | ❌ | ✅ สร้าง negative sample |
Qwen-Scope เปลี่ยน SAE จาก "กล้องส่องดู AI" เป็น "แป้นควบคุม AI" - ไม่แค่เข้าใจว่า AI คิดยังไง แต่เอาความเข้าใจนั้นไปควบคุม ปรับปรุง และแก้ไข AI ได้จริง
ลิงก์:
