ผลการทดสอบ Hello World ด้วย Phi-3 ด้วย Ollama

Spec: Macbook Air M2, RAM 16GB SSD 512GB

Ponggun
T. T. Software Solution
4 min readJun 24, 2024

--

เกริ่นนำ

บทความนี้เป็นผลของการทดลองทำตามเนื้อหาใน Video ของอาจารย์
Surasuk Oakkharaamonphong มากๆครับ

ท่านใดสนใจติดตามได้ที่ Video นี้เลยครับผม

Phi-3 คืออะไร

คือโมเดลปัญญาประดิษฐ์แบบภาษาขนาดเล็ก (Small Language Model หรือ SLM) ที่พัฒนาโดย Microsoft Research โมเดลนี้ถูกออกแบบมาให้มีประสิทธิภาพสูงและคุ้มค่า โดยมีขนาดเพียง 3.8 พันล้านพารามิเตอร์ ซึ่งน้อยกว่าโมเดลภาษาขนาดใหญ่ แต่ยังสามารถทำงานได้ดีในหลายด้าน เช่น การเข้าใจภาษา การเขียนโค้ด และการทำโจทย์คณิตศาสตร์ที่ไม่ซับซ้อนมาก

  • Phi-3 Mini — มีขนาด 3.8 พันล้านพารามิเตอร์ (3B)
  • Phi-3 Medium — มีขนาด 14 พันล้านพารามิเตอร์ (14B)

Phi-3 ได้รับการพัฒนาให้สามารถใช้งานได้ง่ายและเข้าถึงได้มากขึ้นปัจจุบัน นักพัฒนาสามารถเข้าถึง Phi-3 ได้บนแพลตฟอร์ม Azure, Hugging Face และ Ollama

License MIT ใช้ได้สบายเยย

ศึกษาเนื้อหาเพิ่มเติมได้ที่บทความของคุณ Boat Charunthon นะครับ สรุปไว้ดีงามมากๆๆๆ

Ollama

เป็นซอฟต์แวร์สำหรับรันโมเดลปัญญาประดิษฐ์ในกลุ่ม LLM บนเครื่องไคลเอนต์ซึ่งช่วยประหยัดค่าใช้จ่ายได้มากเลยครับ

ปล.การใช้ GPU หรือ NPU ในการรันโมเดลภาษา (LLM) เช่น Ollama จะทำให้ประสิทธิภาพในการประมวลผลดีขึ้นมากเมื่อเทียบกับการใช้ CPU ทำให้การรันงานรวดเร็วและมีประสิทธิภาพมากขึ้น

ศึกษาการใช้งานได้ที่นี้นะครับ

การติดตั้งโปรแกรม Ollama

ทำได้สองวิธีนะครับ

#1: Docker: Link

docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama

#2: Download และ Install ผ่านหน้าเว็ปได้เลย: Link

เสร็จแล้วลองรัน

ollama run phi3

ผมขอสรุปผลเลยนะครับ ฮา น้ำตาจิไหล T___T

ผลการรัน

  • ❌ รันผ่าน Docker — น้อนไม่ตอบสนอง
  • ✅ รันผ่าน Ollama App — รอรับคำสั่งสวยๆ

การใช้ทรัพยากร

  • ❌ รันผ่าน Docker — CPU 600% 😂 (ผม Setup GPU ใน Docker บน M2 ไม่ได้นะครับ)
  • ✅ รันผ่าน Ollama App — เบาๆ 😎

การตอบสนองต่อคำสั่ง

  • ❌ ภาษาไทย — มุแง้ 😭 (ก็ตามที่ระบุใน Doc เลยครับ ผมดื้อเอง ฮะๆ)
  • ✅ ภาษาอังกฤษ — หล่อ… 🤟
เขาก็เตือนแล้ว ไอ้เราก็ดื้อเอง ฮาๆ ollama.com/phi3

สิ่งที่จะลองทำต่อไป

  • ศึกษา Document 😎 เพื่อดูการนำ Ollama ไปใช้งานบน Azure VM เพื่อทดลองการ Hosting SLM ด้วยตัวเอง
  • หา Azure VM ที่มี GPU สักตัว
  • เขียน ASP.NET มาอันนึง แล้วลอง Call API ไปที่ VM ดู
  • ทำ CI/CD
  • จำลอง Local Dev + Dev Server

แถมความล้มเหลวที่ Setup Docker ไม่สำเร็จครับ

มาดูกันว่าผมติดตรงไหนบ้าง

เริ่มจากเข้าไปที่ Docker Hub กันก่อนเบย

https://hub.docker.com/r/ollama/ollama

ลองรันคำสั่งเพื่อทดลองใช้

docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
Port: 11434 = 1(L) 1(L) 4(A) 3(M) 4(A) = llama
Image มาสวยๆ

ติดตั้ง VS Code Docker Extension เพื่อให้เรา Shell เข้าไปจัดการกับ Docker สะดวกๆครับโผม เพราะเราสามารถดูโครงสร้างหรือแก้ไข Files ได้สะดวกมากๆผ่าน VS Code ครับ

ติดตั้งเสร็จแล้วจิ้มที่เมนู Docker -> เลือก Ollama Container -> Attach Visual Studio Code

เลือกเปิด Folder ที่ต้องการ (ปรกติผมเปิด Root เลยครับสะดวกดีเวลาจะแก้ไข File อะไร)

เปิดขึ้นมาแล้วก็ลองรันกันเต้อะ

ollama run phi3

จบกันน้องเป็นนิ่งๆ สงสัยเราทำอะไรผิดไปสักอย่างแน่ๆๆๆ T___T

ollama ls

ลองดู Model ที่ติดตั้งก็มานาาาา

แอบสงสัยทำไมคอมกระตุก…. OMG CPU หายเกลี้ยงงงง

กลัวล้าววว
กลัวล้าววว

แต่ถึงจะกินไปเยอะ น้องก็ยังนิ่งเหมือนเดิม น้ำตาจิไหลต่อเนื่อง

ใน Document แนะนำให้ติดตั้ง NVIDIA Container Toolkit

https://hub.docker.com/r/ollama/ollama

แต่ปัญหาคือกระผมไม่สามารถติดตั้งใน Mac Air M2 ได้ด้วยความอ่อนด้อยของผมเอง

เอาละ รันบ่ได้ ลองลง Package อื่น `brew install gnupg gnupg2 ก็ยังไม่รอดอยู่ดีเลยขอยอมแพ้ไปก่อนจ้า ค่อยกลับม

จบแล้วคร้าบ สวัสดีผู้อ่านทุกท่านครับ

--

--

Ponggun
T. T. Software Solution

Development Manager, Web Developer with ASP.Net, ASP.net Core, Azure and Microsoft Technologies