2 คะแนน โดย GN⁺ 2024-02-18 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • ตอนนี้สามารถรัน Ollama บน Windows ในแบบ เนทีฟ ได้ ทำให้ขั้นตอนการดึงโมเดลภาษาขนาดใหญ่ในเครื่องมาใช้งาน รัน และสร้างผลลัพธ์ทำได้ง่ายขึ้น
  • Ollama สำหรับ Windows มาพร้อม การเร่งความเร็วด้วย GPU ในตัว, การเข้าถึงไลบรารีโมเดลทั้งหมด และ Ollama API ที่เข้ากันได้กับ OpenAI
  • การรันโมเดลใช้ NVIDIA GPU และชุดคำสั่ง CPU สมัยใหม่อย่าง AVX, AVX2 โดย ไม่ต้องตั้งค่าหรือใช้ virtualization เพิ่มเติม
  • สามารถใช้ไลบรารีโมเดลทั้งหมดและ โมเดลวิชัน บน Windows ได้ และ LLaVA 1.6 สามารถเพิ่มรูปภาพเข้าไปในข้อความได้โดยลากแล้ววางรูปภาพลงใน ollama run
  • ด้วย Ollama API ที่ทำงานอยู่เบื้องหลัง จึงสามารถเชื่อมต่อเครื่องมือเดิมที่ใช้กับ OpenAI เข้ากับ โมเดลในเครื่อง ได้

เปิดให้ใช้งาน Windows Preview

  • Ollama เปิดให้ใช้งานในรูปแบบ Windows Preview ทำให้สามารถดึงโมเดลภาษาขนาดใหญ่ รัน และสร้างผลลัพธ์บน Windows ได้
  • Ollama สำหรับ Windows รวมฟีเจอร์หลักไว้ครบในครั้งเดียว

การเร่งความเร็วด้วยฮาร์ดแวร์และวิธีรัน

  • ขณะรันโมเดลจะใช้ NVIDIA GPU เพื่อเร่งความเร็ว
  • หากพร้อมใช้งาน จะใช้ ชุดคำสั่ง CPU สมัยใหม่อย่าง AVX, AVX2 ด้วย
  • ใช้งานได้ทันทีในสภาพแวดล้อม Windows โดยไม่ต้องตั้งค่าหรือใช้ virtualization เพิ่มเติม

ไลบรารีโมเดลทั้งหมดและโมเดลวิชัน

  • บน Windows ก็สามารถรัน ไลบรารีโมเดล ทั้งหมดของ Ollama ได้
  • รวมถึง โมเดลวิชัน ด้วย
  • ขณะรันโมเดลวิชันอย่าง LLaVA 1.6 สามารถลากแล้ววางรูปภาพลงใน ollama run เพื่อเพิ่มเข้าไปในข้อความได้

Ollama API ที่ทำงานอยู่เบื้องหลัง

  • Ollama API จะทำงานโดยอัตโนมัติอยู่เบื้องหลัง และให้บริการที่ http://localhost:11434
  • เครื่องมือและแอปพลิเคชันสามารถเชื่อมต่อกับ API นี้ได้โดยไม่ต้องตั้งค่าเพิ่มเติม
  • ตัวอย่างการเรียก Ollama API จาก PowerShell มีดังนี้
(Invoke-WebRequest -method POST -Body '{"model":"llama2", "prompt":"Why is the sky blue?", "stream": false}' -uri http://localhost:11434/api/generate ).Content | ConvertFrom-json
  • Ollama สำหรับ Windows รองรับ ความเข้ากันได้กับ OpenAI เช่นเดียวกับแพลตฟอร์มอื่น
  • สามารถใช้เครื่องมือเดิมที่ออกแบบมาสำหรับ OpenAI ร่วมกับ โมเดลในเครื่อง ผ่าน Ollama ได้

การติดตั้งและฟีดแบ็ก

  • หากต้องการเริ่มใช้ Windows Preview ให้ดาวน์โหลด OllamaSetup.exe
  • ดับเบิลคลิกไฟล์ติดตั้ง OllamaSetup.exe เพื่อติดตั้ง
  • หลังติดตั้งแล้ว ให้เปิดเทอร์มินัลและรันโมเดลด้วยคำสั่งต่อไปนี้
ollama run llama2
  • เมื่อมีรีลีสใหม่ Ollama จะแจ้งให้ทราบเรื่องการอัปเดต
  • หากพบปัญหา สามารถเปิด GitHub issue หรือเข้าร่วม เซิร์ฟเวอร์ Discord เพื่อส่งฟีดแบ็กได้

1 ความคิดเห็น

 
GN⁺ 2024-02-18
ความคิดเห็นจาก Hacker News
  • บนเดสก์ท็อป ผมใช้ Open-WebUI ต่อเป็นฟรอนต์เอนด์อยู่
    มีโมเดล Mistral ที่ fine-tune ไว้ราว 12 ตัว กับโมเดลอื่นอีกไม่กี่ตัวรวมไว้ ใช้สำหรับแชตหรือดึงข้อมูลก็เพียงพอแล้ว
    แอป Open-WebUI หน้าตาค่อนข้างคล้าย ChatGPT และค้นหาบทสนทนาได้ด้วย
    https://github.com/open-webui/open-webui

    • เผื่อใครพลาดประกาศเมื่อไม่กี่ชั่วโมงก่อน open-webui คือการรีแบรนด์ของโปรเจกต์ที่เคยชื่อ ollama-webui
      ผมรับรองได้ว่าเป็นฟรอนต์เอนด์สำหรับ Ollama ที่ค่อนข้างแข็งแรง ใช้งานได้ดีมาก และพัฒนาเร็วอย่างน่าทึ่ง
      ทุก ๆ ไม่กี่สัปดาห์เวลาผมดึง Docker image ล่าสุดมา ก็มักจะประหลาดใจเสมอว่ามันดีขึ้นไปอีกแค่ไหน
      [0] https://github.com/open-webui/open-webui/discussions/764
    • อยากรู้ว่า โมเดลที่ fine-tune เหล่านั้นเอาไปใช้ทำอะไรอยู่? สงสัยว่า fine-tune ด้วยข้อมูลของคุณเอง หรือเลือกใช้โมเดลสาธารณะตามงานแต่ละประเภท
    • มีเครื่องมือคล้าย ๆ กันที่ใช้ในเทอร์มินัลได้ไหม?
  • เหมือนทุกครั้ง ไม่มีการพูดถึง การรองรับ AMD GPU เลย
    น่าเสียดายจนผมเริ่มเสียใจที่ครั้งนี้ซื้อ AMD มา

    • การรองรับ AMD GPU เป็นส่วนสำคัญในโรดแมปของโปรเจกต์อย่างแน่นอน
      เสียดายที่ยังไม่ได้ประกาศไว้ชัดเจนในที่อย่าง ROADMAP.md แต่ตั้งใจว่าจะทำในเร็ว ๆ นี้
      ผู้ดูแลโปรเจกต์หลายคนมาจากพื้นที่โตรอนโต ซึ่งเป็นบ้านเกิดดั้งเดิมของ ATI Technologies ดังนั้นโดยส่วนตัวก็อยากให้ Ollama ทำงานได้ดีบน AMD GPU เหมือนกัน :)
      เครื่องทดสอบเครื่องหนึ่งที่ใช้สำหรับงานรองรับ AMD ใช้ Radeon RX 7900XT และค่อนข้างเร็ว เทียบกับ GPU GeForce 40 ซีรีส์ระดับสูงได้สบาย
      [1]: https://en.wikipedia.org/wiki/ATI_Technologies
    • ผมก็เหมือนกัน ในฐานะผู้ใช้ Linux มานาน ผมเกลียด Nvidia มากเพราะความเจ็บปวดที่ Nvidia ทำให้ต้องเจอ เลยหวังจริง ๆ ว่า AMD จะประสบความสำเร็จ
      ผมซื้อการ์ด AMD แรง ๆ ในราคาแพง เพราะคาดหวังว่าจะไล่ตาม Nvidia ได้ในไม่ช้า แต่ความจริงกลับไม่เป็นแบบนั้นเลย และผมคิดว่าเป็นเพราะ AMD ไม่ได้ทุ่มทรัพยากรที่จำเป็นลงไป
      AMD ยังเปลี่ยนได้ แต่ต้องเริ่ม เดี๋ยวนี้
    • AMD ดูเหมือนจะเชื่อว่ากระแสใหม่อย่าง การประมวลผลด้วย GPU นี้จะผ่านไปในไม่ช้า เลยคิดว่าไม่จำเป็นต้องลงทุน
      เป็นหนึ่งในการทำร้ายตัวเองที่แย่ที่สุดเท่าที่ผมเคยเห็นในอุตสาหกรรมเทคโนโลยี
    • llamafile รองรับ AMD GPU
      บน Windows แค่มีไดรเวอร์กราฟิกก็พอ เพราะมีไลบรารี tinyBLAS
      https://github.com/Mozilla-Ocho/llamafile/releases/tag/0.6.2
      ค่าเริ่มต้นจะเปิดแท็บเบราว์เซอร์ที่มี GUI สำหรับแชต และยังรันเป็นแชตบอตบน command line แบบ Ollama ได้ตามด้านล่าง
      https://justine.lol/oneliners/#chat
    • อย่างที่คนอื่นพูดกัน Ollama ใช้ Llama.CPP ภายใน และ Llama.CPP เพิ่งปล่อยการรองรับ Vulkan ซึ่งน่าจะทำงานบน AMD GPU ได้ด้วย
      ผมคอมไพล์ llama.cpp พร้อมการรองรับ Vulkan แล้วใช้กับแอปของผม [1] จนรันบนโน้ตบุ๊ก AMD ได้สำเร็จ แต่ Ollama มีสมมติฐานบางอย่างเกี่ยวกับวิธีค้นหา GPU ที่ใช้งานได้บนเครื่อง เลยทำให้ผมยังทำให้มันทำงานไม่ได้
      [1]: https://msty.app
  • ถ้ากำลังหา แชต UI ดี ๆ สำหรับใช้บน Ollama และอยากให้รองรับทั้งโมเดลออนไลน์กับโมเดลโลคัล ผมมีแอปที่กำลังทำอยู่ [1]
    เน้นออฟไลน์และความเป็นส่วนตัว และเมื่อเช้านี้เพิ่งปล่อยการรองรับ Windows
    [1]: https://msty.app

    • แจ้งไว้ว่าเจอการตรวจจับ Program:Win32/Wacapew.C!ml
    • นอกเรื่องหน่อย แต่ landing page ทำด้วยอะไร?
    • อันนี้คล้ายกับ LLM Studio ไหม?
    • มีแผนทำไคลเอนต์ Linux ด้วยไหม?
    • จะเพิ่ม Gemini API ด้วยหรือเปล่า?
  • สงสัยเหมือนกันว่าพอร์ต AI แบบ “รันบนเครื่องโลคัล” เหล่านี้มีเหตุผลอะไรที่ทำให้หลายตัว รันเป็นเซิร์ฟเวอร์ กันนัก
    นักพัฒนาลืมไปแล้วหรือเปล่าว่าสามารถรันโค้ดภายในโปรเซส UI ได้?
    เห็นแพตเทิร์นเดียวกันในตัวรัน Stable Diffusion หรือโฮสต์ LLM ด้วย
    ถ้าไม่จำเป็นจริง ๆ ผมไม่อยากรันบริการเบื้องหลังบนเครื่องโลคัล แล้วทำไมการใช้งานแบบนี้ทั้งหมดถึงดูเหมือนทำงานแบบนั้นกันหมด?

    • เป็นคำถามที่น่าสนใจจริง ๆ ผมคิดว่าโมเดลการแจกจ่ายทั้งสองแบบมีอยู่ได้
      อุปมาที่ดีอาจเป็นเอนจินฐานข้อมูล SQLite เป็นไลบรารี ส่วน Postgres เป็นบริการที่รันระยะยาว แต่ทั้งคู่ก็ถูกใช้กันอย่างแพร่หลายและมี trade-off ของตัวเอง
    • นอกจากเวลาโหลดครั้งแรกที่คนอื่นพูดถึงแล้ว คุณอาจอยากให้หลายแอปพลิเคชันใช้ เอนจิน inference เดียวกันหรือ LLM เดียวกันเพื่อหลายวัตถุประสงค์ก็ได้
      อีกปัจจัยใหญ่ที่ผมเห็นคือ การทำให้เครื่อง สภาพแวดล้อม และระบบปฏิบัติการอยู่ในสภาพที่โมเดลรันได้อย่างมีประสิทธิภาพนั้นไม่ง่าย
      การใส่ความซับซ้อนนี้ไว้ในคอนเทนเนอร์ หรือก็คือ “เซิร์ฟเวอร์” ช่วยได้มากทั้งในการตั้งค่าครั้งแรกและการตามให้ทันการปรับปรุง/อัปเดตอย่างต่อเนื่อง
    • การโหลดน้ำหนักโมเดลแบบสด ๆ ทุกครั้งไม่สมเหตุสมผล เพราะต้องย้าย หน่วยความจำระดับหลายกิกะบิต ไปมาอยู่เรื่อย ๆ
      ทางที่ถูกคือให้มีโปรเซสที่รันระยะยาวคอยจัดการคำขอทำนายหลาย ๆ ครั้ง
      มีความเป็นไปได้สูงว่าอีกไม่นานก็จะให้บริการกับไคลเอนต์หลายตัวด้วย
    • ส่วนตัวผมมองว่านี่เป็นข้อดี
      ผมไม่มีแล็ปท็อปหรือเวิร์กสเตชันแรง ๆ แต่มีเซิร์ฟเวอร์แบบ headless หลาย GPU
      โปรเจกต์แบบนี้ทำให้ผมทดลอง LLM บนเซิร์ฟเวอร์ และเปิด API กับเว็บ UI ภายในเครือข่ายภายในได้
    • เพราะเรื่องความเร็ว ผมรัน Ollama บน พีซีเกมมิ่ง เครื่องใหญ่ แต่ก็อยากใช้โมเดลจากที่อื่นในบ้านด้วย
      เลยเปิด Open-WebUI ไว้ที่ chat.domain.example และ Ollama ไว้ที่ api.chat.domain.example ทั้งคู่เข้าถึงได้เฉพาะในเครือข่ายโลคัลเท่านั้น
      ด้วยโครงสร้างนี้ แล็ปท็อปกับมือถือสามารถใช้โมเดลโลคัลที่ความเร็วสูงสุดผ่านเว็บ UI ได้ ส่วน Raspberry Pi ที่รันผู้ช่วยเสียงสำหรับทดลองก็สามารถถาม Ollama ผ่าน API endpoint ได้
      ด้วย GPU เกมมิ่ง ทุกอย่างจึงทำงานด้วยความเร็วสูงสุด เหตุผลเดียวกันนี้ใช้ได้กับการตั้งค่า Stable Diffusion ด้วย
  • ไม่รู้มาก่อนว่าผู้ใช้ Windows ยังใช้ Ollama ไม่ได้
    แค่ไม่กี่ปีก่อนดูเหมือนฝั่งผู้ใช้ Mac ต่างหากที่ต้องรอกัน

    • ใน WSL ใช้งานได้ดีมาหลายเดือนแล้ว รวมถึงรองรับ GPU เต็มรูปแบบด้วย
      แค่สำหรับคนส่วนใหญ่มันไม่ค่อยสะดวกนัก และการรองรับ Windows แบบเนทีฟก็เป็นสิ่งที่ดียิ่งกว่าเดิม
    • ผมรัน Ollama บน Windows WSL มาสักพักแล้ว
      สุดท้ายมันก็คือ x86 Linux ดังนั้นทุกอย่างก็ทำงานได้ดีอยู่แล้ว
  • สงสัยว่า LM Studio(https://lmstudio.ai) ที่เป็นซอร์สปิดเป็นอย่างไรเมื่อเทียบกับ Ollama

    • ข้อดีคือ ตั้งค่าง่ายมาก ดาวน์โหลดและโหลดโมเดล/น้ำหนักได้ด้วยการคลิกครั้งเดียว และทำงานได้ดีมาก
      ข้อที่ไม่ชอบคือบน Windows มันเอาน้ำหนักไปไว้ในโครงสร้างไดเรกทอรีของตัวเองใต้ /users/username/.cache กินพื้นที่หลายสิบ GB โดยไม่บอก และไม่ให้แชร์กับไคลเอนต์อื่น
      ไม่ยอมให้นำเข้าโมเดลที่ดาวน์โหลดเอง ฟังก์ชันค้นหาก็แย่มาก และผมก็ไม่ชอบวิธีที่มันจัดการการตั้งค่าอินสแตนซ์
  • ดูเหมือนว่าใช้งานบน Linux และ Mac ได้อยู่แล้ว
    การเปลี่ยนแปลงครั้งนี้คือ เพิ่ม Windows: https://github.com/ollama/ollama

  • พอดีกำลังจะลองติดตั้งและเล่นกับข้อกำหนดเหล่านี้ด้วยตัวเองอยู่พอดี แล้วบทความนี้ก็ออกมา
    ลองทดสอบแล้วน่าสนใจตรงที่มันง่ายและทำงานได้ดีจริง ๆ
    แต่ดูเป็นปัญหาว่าโปรแกรมติดตั้งก็ยังไม่มีตัวเลือกให้เลือกตำแหน่งปลายทางอีกแล้ว ถ้ามีผู้ใช้หลายคนบนเซิร์ฟเวอร์ แต่ละคนจะมีสำเนาส่วนตัวของตัวเองแทนที่จะมีการติดตั้งส่วนกลางชุดเดียว

  • ผมกำลังรัน Ollama โดยคิดจะทำ เวิร์กโฟลว์ตรวจไวยากรณ์/คำผิด สำหรับการเขียน
    ไม่ได้เกี่ยวข้องกับ Ollama โดยตรง และจนถึงตอนนี้ Ollama ก็ทำงานได้ดี
    มีที่ไหนที่เหมาะจะถามคำถามแบบนี้ไหม? อยากรู้ว่ามีอะไรคล้าย Stack Overflow สำหรับ LLM หรือเปล่า

  • ลองติดตั้งและรันโมเดล llama2 บน Mac Mini เครื่องใหม่ แล้วเกิด kernel panic เต็ม ๆ นี่มันอะไรกัน?

    • ถ้าโมเดลที่เลือกมีขนาดใหญ่กว่า หน่วยความจำรวม ที่มีอยู่ ก็อาจเกิดเรื่องแบบนั้นได้
      เลือก llama2 เวอร์ชันไหน และมีหน่วยความจำรวมเท่าไหร่?