ปรับแต่ง LM Studio สำหรับงานโค้ด: เข้าใจ `top_p`, `top_k` และ `repeat_penalty`
เวลาที่เราใช้ LM Studio เพื่อช่วยในการเขียนโค้ด ไม่ใช่แค่เลือกโมเดลที่ดีเท่านั้น แต่การตั้งค่า พารามิเตอร์การสร้างข้อความ (generation settings) ก็สำคัญมาก โดยเฉพาะ top_p
, top_k
และ repeat_penalty
ที่มีผลต่อความแม่นยำ ความสร้างสรรค์ และความเสถียรของผลลัพธ์
ถ้าใครเคยเจอปัญหาโมเดลวนลูปพิมพ์ซ้ำ หรือสร้างโค้ดที่ไม่ตรงกับโจทย์ ลองมาทำความเข้าใจ 3 ตัวนี้ให้ดีครับ
🎯 top_k
คืออะไร?
top_k
คือการจำกัดตัวเลือกของโมเดล
ปกติแล้วโมเดลจะประเมินความน่าจะเป็นของ token (คำ/สัญลักษณ์) นับพัน แต่ top_k
จะบอกว่า “ให้เลือกเฉพาะ K อันดับแรกเท่านั้น”
top_k = 20
→ โฟกัสมาก เลือกได้แค่ 20 ตัวเลือกtop_k = 100
→ กว้างขึ้น หลากหลายขึ้นtop_k = -1
→ ไม่จำกัด เลือกจากทั้งหมดได้
👉 เหมาะสำหรับโค้ด: ใช้ช่วง 20–50 เพื่อให้ผลลัพธ์เสถียรและแม่นยำ
🎯 top_p
คืออะไร?
ถ้า top_k
เน้นจำนวนตัวเลือก top_p
จะเน้น เปอร์เซ็นต์ความน่าจะเป็นรวม (nucleus sampling)
top_p = 0.9
→ เลือก token ที่รวมกันได้ 90% ของความน่าจะเป็นtop_p = 0.8
→ แคบลง ผลลัพธ์จะชัดเจนขึ้นtop_p = 1.0
→ ไม่กรองเลย ใช้ทั้ง distribution
👉 เหมาะสำหรับโค้ด: ตั้งไว้ที่ 0.85–0.9 กำลังดี มีความแม่นยำและยังยืดหยุ่นพอสำหรับชื่อฟังก์ชันหรือคอมเมนต์
🎯 repeat_penalty
คืออะไร?
เวลาที่โมเดลพิมพ์ซ้ำ เช่น print(print(print(...)))
นั่นคือผลจากการไม่มีการลงโทษการซ้ำ
repeat_penalty
จะช่วยป้องกันไม่ให้ token ที่ใช้แล้วถูกนำมาใช้ซ้ำบ่อยเกินไป
repeat_penalty = 1.0
→ ไม่ลงโทษ อาจวนลูปได้repeat_penalty = 1.05
→ กดซ้ำเบา ๆrepeat_penalty = 1.2
→ กดซ้ำแรงมาก
👉 เหมาะสำหรับโค้ด: ใช้ที่ 1.05 ถ้าเจอซ้ำบ่อยค่อยเพิ่มขึ้นเล็กน้อย
⚙️ ค่าที่แนะนำสำหรับงานโค้ด
{
"temperature": 0.2,
"top_k": 40,
"top_p": 0.9,
"repeat_penalty": 1.05,
"max_tokens": 2048,
"seed": -1
}
- temperature ต่ำ (0.2): ทำให้โค้ดเสถียรและไม่สุ่มเกินไป
- top_k + top_p สมดุล: ช่วยให้โค้ดตรงและไม่หลุด
- repeat_penalty อ่อน ๆ: ป้องกันการวนซ้ำ
- seed = -1: สุ่มโดยค่าเริ่มต้น ตั้งเลขเฉพาะถ้าต้องการ reproducibility
🖼️ แผนภาพการตั้งค่าใน LM Studio
┌───────────────────────────────┐
│ LM Studio UI │
└───────────────────────────────┘
│
▼
┌───────────────────────────────┐
│ Model Config JSON │
│ │
│ { │
│ "temperature": 0.2, │
│ "top_k": 40, │
│ "top_p": 0.9, │
│ "repeat_penalty": 1.05, │
│ "max_tokens": 2048, │
│ "seed": -1 │
│ } │
└───────────────────────────────┘
│
▼
┌───────────────────────────────┐
│ ผลลัพธ์ของโมเดล │
├───────────────────────────────┤
│ top_k → จำกัดจำนวน token │
│ top_p → จำกัดด้วยความน่าจะเป็น │
│ repeat_penalty → กันวนซ้ำ │
│ temperature → ความสร้างสรรค์ │
└───────────────────────────────┘
✅ สรุปสั้น ๆ
top_k
= shortlist → ใช้ 20–50top_p
= ความน่าจะเป็นรวม → ใช้ \~0.9repeat_penalty
= กันซ้ำ → ใช้ 1.05- temperature ต่ำ → โค้ดคมชัด ไม่สุ่ม
เพียงเท่านี้ LM Studio ก็จะกลายเป็น คู่หูเขียนโค้ดที่เสถียรและแม่นยำ ไม่ใช่ AI ที่พูดวกวนหรือพิมพ์ซ้ำอีกต่อไป 🚀
Get in Touch with us
Related Posts
- SimpliPOS (COFF POS): ระบบขายหน้าร้านสำหรับคาเฟ่ที่ใช้งานง่ายและครบฟังก์ชัน
- สร้างเว็บแอป Local-First ด้วย Alpine.js — เร็ว ปลอดภัย และไม่ต้องใช้เซิร์ฟเวอร์
- 🌱 Carbon Footprint Calculator (Recycling) — เครื่องมือคำนวณคาร์บอนสำหรับอุตสาหกรรมรีไซเคิล
- Recycle Factory Tools — เครื่องมือช่วยบันทึกงานรีไซเคิลให้ง่ายขึ้น
- โค้ชท่าวิ่ง — เมโทรนอมจังหวะก้าว เคาะจังหวะ จับเวลาท่าฝึก เช็คลิสต์ท่าทาง
- วิธีสร้างเครื่องคำนวณคาร์บอนเครดิตสำหรับธุรกิจของคุณ
- เปลี่ยนห้องของคุณให้น่าอยู่ด้วย SimRoom: การออกแบบภายในด้วยพลัง AI
- จะฉลาดขึ้นในยุค AI ได้อย่างไร ด้วย วิทยาศาสตร์ คณิตศาสตร์ การเขียนโปรแกรม และธุรกิจ
- 🎮 ทำให้โปรเจกต์สนุกขึ้น: ใช้กรอบคิด Octalysis
- ความมั่นคงชายแดนสมัยใหม่ด้วยดาวเทียม โดรน HALE และระบบ Cueing
- ระบบจัดการรีไซเคิลสำหรับโรงงาน: ทำให้การขายเศษวัสดุง่ายและโปร่งใส
- วิธีเขียน Use Case ให้เข้าใจง่าย และใกล้เคียงลูกค้าที่สุด
- หลังฟองสบู่ AI: ทำไมเครื่องเล่นเกมคอนโซลและ Local AI ถึงคือคำตอบที่แท้จริง
- การใช้ Source–Victim Matrix เชื่อมโยงการทดสอบ RE102 และ RS103 ในการวิเคราะห์ EMC บนเรือ
- เทคโนโลยีกับการสร้างความไว้วางใจใหม่หลังวิกฤต
- ก้าวสู่ยุคใหม่ของคลินิกเสริมความงามด้วย Mobile App
- ยกระดับอีคอมเมิร์ซด้วย AI: การวิเคราะห์รูปภาพ แปลภาษา และ Cross-Selling อัจฉริยะ
- ระบบ TAK พลิกโฉมการรับมือภัยพิบัติน้ำท่วม
- ช้อปปิ้งง่ายขึ้น: แค่ถ่ายรูปก็หาสินค้าที่ตรงใจได้ด้วย AI
- แก้ปัญหาการรบกวนระหว่างเสาอากาศด้วยโปรแกรมจำลอง Coupling ขั้นสูง