llama.cpp เปิดตัว v1.0.0 ก้าวสำคัญสู่มาตรฐาน Local AI ที่เสถียร
llama.cpp ช่วยให้ผู้ใช้งานสามารถรัน multi-modal LLMs ได้บนฮาร์ดแวร์ที่หลากหลาย ตั้งแต่คอมพิวเตอร์ทั่วไประดับผู้บริโภคไปจนถึงเซิร์ฟเวอร์ระดับองค์กรขั้นสูง ด้วยเทคนิค quantization และการปรับแต่ง backend บนภาษา C/C++ ที่ยืดหยุ่น ช่วยให้การทำ AI inference เข้าถึงได้ในทุกระดับของ software stack โดยผู้พัฒนาเชื่อว่านี่คือแพลตฟอร์มที่เบาที่สุดและอเนกประสงค์ที่สุดสำหรับการสร้างผลิตภัณฑ์ AI ข้ามแพลตฟอร์มที่เน้นความเป็นส่วนตัว
ในช่วง 3.5 ปีนับตั้งแต่จุด เริ่มต้น โปรเจกต์นี้เติบโตขึ้นอย่างรวดเร็วและกลายเป็นรากฐานสำคัญของแอปพลิเคชันจำนวนมาก เมื่อเทรนด์ Local AI และความเป็นส่วนตัวมีความสำคัญมากขึ้น นักพัฒนาจึงจำเป็นต้องพึ่งพา library interface ของเรามากขึ้นตามไปด้วย การสร้าง API ที่ยืดหยุ่นแต่ยังคงความเสถียรจึงกลายเป็นภารกิจสำคัญสูงสุด
การเปิดตัว library v1.0.0 ในวันนี้เป็นการเน้นย้ำถึงความรับผิดชอบที่มีต่อนักพัฒนา โดยต่อจากนี้ทั้ง llama.cpp และ ggml จะใช้ระบบเวอร์ชันเพื่อสะท้อนความเข้ากันได้ของ API และ ABI อย่างชัดเจน หากมีการเปลี่ยนแปลงที่ไม่สามารถทำงานร่วมกับเวอร์ชันเก่าได้ จะมีการขยับเลขเวอร์ชันหลัก (major-version bumps) เพื่อให้ผู้ใช้งานรับทราบขอบเขตการเปลี่ยนแปลงได้ทันที
Releases
| Release | Library | Public header(s) |
|---|---|---|
| llama.cpp v1.0.0 - LLM inference ใน C/C++ | libllama | llama.cpp/include/ |
| ggml v1.0.0 - Tensor library สำหรับ machine learning | libggml | ggml/include/ |
กฎการอัปเดตเวอร์ชันแบบ Semantic
กฎต่อไปนี้ใช้กับโปรเจกต์ ggml-org ทั้งหมดที่ใช้ semantic versioning:
| ประเภทการเปลี่ยนแปลง | การขยับเวอร์ชัน |
|---|---|
| MAJOR | การเปลี่ยนแปลงที่ส่งผลกระทบ (Breaking change) ต่อ public C API ใน ./include |
| MINOR | ฟีเจอร์ที่เข้ากันได้กับเวอร์ชันเก่า, การอัปเดต backend, การรองรับ model หรือการเพิ่ม API |
| PATCH | การแก้ไขบั๊กโดยไม่มีการเปลี่ยนแปลง API |
การเผยแพร่
เรามุ่งหวังที่จะขยายช่องทางการเผยแพร่ซอฟต์แวร์ ggml-org ให้เข้าถึงนักพัฒนาและผู้ใช้ทั่วไปได้ครอบคลุมยิ่งขึ้น สำหรับรายละเอียดการนำโปรเจกต์ไปรวมเข้ากับ packaging และ release pipeline ของคุณ สามารถศึกษาเพิ่มเติมได้ที่ การสนทนา นี้
| ช่องทาง | แพลตฟอร์ม |
|---|---|
| Pre-release artifacts | Linux, macOS, Windows, Android, iOS |
| Docker | Linux |
| Debian | Linux |
| Homebrew | macOS, Linux |
| conda-forge | Windows, macOS, Linux |
| MacPorts | macOS |
| Winget | Windows |
| XCFramework | iOS, macOS |
การพัฒนา
โปรเจกต์นี้ขับเคลื่อนด้วยชุมชน open-source ที่แข็งแกร่งและเต็มไปด้วยผู้เชี่ยวชาญ ท่ามกลางความก้าวหน้าอย่างรวดเร็วของ AI ในสายวิศวกรรมซอฟต์แวร์ เรายังคงมุ่งมั่นรักษา codebase ที่มีคุณภาพสูงและควบคุมสถาปัตยกรรมอย่างเป็นระบบ โดยมีการรวม LLMs เข้ามาช่วยในกระบวนการพัฒนาอย่างเหมาะสมและรอบคอบ เพื่อรองรับการพัฒนาที่รวดเร็ว เราได้ลงทุนในโครงสร้างพื้นฐาน CI (Continuous Integration) มากขึ้น โดยอาศัยเทคโนโลยีจาก Hugging Face เช่น HF Buckets และ HF Jobs เพื่อทดสอบความถูกต้องของทุกการเปลี่ยนแปลงใน branch master นอกจากนี้ยังได้รับการสนับสนุนด้านฮาร์ดแวร์จากพันธมิตรอย่าง NVIDIA, AMD, Qualcomm, Arm, IBM และ Intel ในการรันระบบทดสอบบนแพลตฟอร์มหลักทั้งหมด
การครอบคลุมของ Backend และ Model
เครื่องมือหลักอย่าง ggml ถูกออกแบบมาให้ทำงานได้บนฮาร์ดแวร์แทบทุกประเภทผ่านการใช้ backend เฉพาะ ซึ่งแต่ละตัวสามารถคอมไพล์เป็น dynamic library และเลือกโหลดใช้งานได้ทันทีในระหว่าง runtime คุณสามารถตรวจสอบรายชื่อ backend ทั้งหมดที่รองรับได้ที่ นี่
เราตั้งเป้าที่จะรองรับสถาปัตยกรรมโมเดลใหม่ๆ อย่างต่อเนื่อง โดยปัจจุบัน llama.cpp รองรับ ตัวแปรสถาปัตยกรรมมากกว่า 150 แบบ รวมถึงรองรับเทคนิค speculative decoding ยอดนิยมทุกรูปแบบ
คำขอบคุณ
ทีม llama.cpp ที่ Hugging Face ขอขอบคุณการสนับสนุนจากชุมชน โดยเฉพาะ ผู้ดูแลระยะยาว และ ผู้ร่วมสมทบ ทุกคน ความสำเร็จครั้งสำคัญนี้เกิดขึ้นได้เพราะความร่วมมือของทุกคนอย่างแท้จริง
ทรัพยากรเพิ่มเติม
- ตัวอย่าง llama.cpp
- ggml-org ที่ Hugging Face
- ggml-org ที่ Github
- ทดลองใช้งานแอปพลิเคชัน Llama สำหรับ MacOS และ Windows ที่พัฒนาโดยทีมงาน llama.cpp และ Hugging Face
ความคิดเห็น (0)
เข้าสู่ระบบเพื่อร่วมแสดงความเห็น
สมัครสมาชิกมาเป็นคนแรกที่แสดงความเห็นกันเลยโบร
