สำหรับ Data Analyst หรือ Marketer ในยุคปัจจุบัน ซึ่งคุ้นเคยกับการใช้ความสามารถของ Generative AI หรือ LLMs ในการช่วยประมวลผลข้อมูล หรือสร้างไอเดียใหม่ๆ ไม่ว่าจะเป็น ChatGPT, Gemini หรืออื่นๆ วันนี้นิกเลยอยากจะมาแนะนำทุกท่านให้รู้จักกับอีกหนึ่งสิ่งในการเร่งความเร็วการประมวลผลของ LLMs ของเรา นั่นคือ “Groq LPU” ซึ่งเป็นสถาปัตยกรรม “ชิป ” ที่ปฏิวัติวงการ โดยมุ่งเน้นไปการเพิ่มความสามารถในการจัดการกับงานที่ซับซ้อนได้อย่างรวดเร็วและมีประสิทธิภาพสูงกว่า GPU ทั่วไป สถาปัตยกรรมเฉพาะตัวนี้ช่วยให้สามารถประมวลผลคำสั่งได้พร้อมกันหลายคำสั่ง ทำให้การประมวลผลของ LLMs เป็นไปอย่างรวดเร็วและใช้พลังงานน้อยลง ヾ(≧▽≦*)o
ก่อนอื่นนิกอยากให้ทุกท่านลองเข้าไปที่ URL: https://groq.com/ เพื่อเข้าไปลองความสามารถ/ความเร็ว ของ LPU นี้ไปพร้อมๆ กันค่ะ
Groq เป็นชื่อ “ชิป” การประมวลผลสำหรับแบบจำลองภาษาขนาดใหญ่ (LLM) ซึ่งมาจาก Grok ที่ Robert Heinlein นักเขียนนิยายวิทยาศาสตร์คิดขึ้น ซึ่งทีมงานนี้เป็นบริษัทสตาร์ทอัพที่เชี่ยวชาญด้านการพัฒนาโปรเซสเซอร์ประสิทธิภาพสูงที่ใช้งานง่ายสำหรับจัดการ Work load ของ AI และ ML โดยผลิตภัณฑ์เรือธงของบริษัทนี้ก็คือชิปนั่นเองค่ะ
ซึ่งชิปที่ว่านี้เป็นหน่วยประมวลผลเทนเซอร์ หรือ TPU ที่ออกแบบมาเพื่อเร่งความเร็วให้กับ Deep Learning Model โดยชิปนี้เป็นโปรเซสเซอร์ที่ตั้งโปรแกรมได้ซึ่งสร้างขึ้นโดยใช้สถาปัตยกรรมเฉพาะที่เรียกว่า “Dataflow supercomputer” โดยสถาปัตยกรรมนี้ช่วยให้ชิปสามารถดำเนินการคำสั่งหลายคำสั่งแบบขนาน ซึ่งทำให้สามารถดำเนินการทางคณิตศาสตร์ที่ซับซ้อนได้อย่างรวดเร็ว นอกจากนี้ ชิปยังประหยัดพลังงานสูง โดยใช้พลังงานเพียงเศษเสี้ยวเดียวของ CPU และ GPU แบบดั้งเดิมเท่านั้นค่ะ^^
ดังนั้นประโยชน์หลักๆ ของชิปนี้คือความง่ายในการใช้งาน โดยบริษัทนี้ได้พัฒนา High-level programming language ชื่อ “GroqPy” ซึ่งช่วยให้พวกเราสามารถเขียนโปรแกรมชิปได้โดยใช้โค้ด Python ง่ายๆ ทำให้ทุกคนสามารถเข้าถึงความสามารถของ LPU นี้ได้โดยที่ไม่ต้องเขียนโค้ดยากๆ กันค่ะ
แล้วทำไมต้องเป็น Groq?
นิกเชื่อว่าจากการที่หลายท่านที่ได้ใช้งาน ChatGPT หรือ Gemini จะพบว่าในบางครั้งเราต้องรอ Generative AI เหล่านี้ในการประมวลผล เพื่อให้คำตอบกับเราเป็นช่วงระยะเวลาหนึ่ง ซึ่งจะใช้คำว่าเป็นการตอบแบบ Real-time ก็คงยังไม่ได้ ซึ่งจากการที่มีการเพิ่มในส่วนของ Inference speed ของ GenAI ทำให้เราอาจสามารถสร้างการตอบกับแบบ Real-time หรือ Real-time AI Application เพื่อ Support ส่วนที่เกี่ยวข้อง หรือตอบสนองความต้องการของลูกค้าได้
แต่ก่อนจะไปลองใช้งานกัน,, เรามาทำความรู้จักกับสถาปัตยกรรมชิปแบบ LPU ซึ่งเป็นหน่วยประมวลเบื้องหลังกันค่ะ
LPU interface Engine คืออะไร?
LPU (Language Processing Unit) หมายถึงหน่วยประมวลผลภาษา ซึ่งเป็นชิป AI เฉพาะทางที่ถูกออกแบบเพื่อเร่งการประมวลผล LLMs
โดย LPU มีประสิทธิภาพที่เร็วกว่าอย่างเห็นได้ชัดเมื่อเปรียบเทียบกับฮาร์ดแวร์แบบดั้งเดิม เช่น GPU เมื่อใช้สำหรับงานที่เกี่ยวข้องกับ LLM นอกจากนี้ LPU ได้รับการปรับโครงสร้างให้เหมาะสมเพื่อเพิ่มประสิทธิภาพ ซึ่งสิ่งนี้เองค่ะที่อาจช่วยลดการใช้พลังงานและลดต้นทุนการดำเนินงานได้ ซึ่ง LPU นี้ได้รับการออกแบบมาโดยเฉพาะการทำ Pre-trained model ซึ่ง LLM ที่ Train มาจะถูกประยุกต์ใช้กับข้อมูลใหม่เรื่อยๆ ทำให้เหมาะอย่างยิ่งสำหรับการสร้าง Real-time Application ที่มีโมเดลหลังบ้านเป็น LLMs นอกจากนี้ Groq LPU ยังรองรับ Lib อื่นๆ เช่น PyTorch, TensorFlow หรือ ONNX
การใช้งาน Groq API
เราสามารถใช้งานความสามารถของ Groq ได้หลากหลายรูปแบบทั้งสามารถ Chat กับโมเดลได้เลยผ่าน Prompts เหมือนที่เราทำกับ Generative AI อื่นๆ ดังนั้นในบทความนี้นิกจะลองพาเพื่อนๆ ใช้ความสามารถอื่นกันของ LPU ตัวนี้กันค่ะ,, นั่นคือเราจะมาใช้งานผ่าน API เพื่อเป็นตัวอย่างให้เราสามารถนำไปประยุกต์กับงาน หรือสร้าง Applications เพื่อตอบสนองสิ่งที่เราต้องการได้,, Let’s go (☞゚ヮ゚)☞
ในขั้นตอนแรกให้ทุกท่านเข้าไปที่ URL ด้านบน แล้ว Login (ซึ่งแนะนำให้ Login With GoogleAccount ได้เลยค่ะ) หลังจากนั้น Verify ว่าเราเป็น Human แล้วกด Create API Key
ซึ่งหลังจากกดแล้ว ระบบก็จะขึ้น Pop-up มาเพื่อให้เราตั้งชื่อ API Key =>> ในส่วนนี้ก็ให้ตั้งชื่อใช้สอดคล้องกับ Project เพื่อให้ง่ายกับความเข้าใจของตัวเราเอง แล้วกด Submit
และหลังจากที่เรากด submit ระบบก็จะสร้าง API Key ให้เรา ซึ่งส่วนนี้ให้ทุกท่านทำการ Copy ตัว API Key เก็บไว้ เพราะระบบจอ Pop-up ให้ครั้งเดียวค่ะ,, ลืม copy คือสร้างใหม่เท่านั้น
#2 การตั้งค่า API Key
โดย Step ต่อไปเราจะเริ่มที่การกำหนดค่า API Key ของเป็น Environment variable ซึ่งจะทำให้การใช้งาน API ของเราราบรื่น และไม่จำเป็นต้องใส่ API Key ของในทุกครั้งที่มี Request (ในที่นี้ก็เหมือนเป็น Prompt แต่ละ prompt ที่ User ของเราพิมพ์เข้ามาค่ะ) นอกจากนั้นการ Setting แบบนี้ยังช่วยลดความเสี่ยงในการ API Key ของเราลงใน Codebase โดยไม่ได้ตั้งใจด้วยค่ะ
export GROQ_API_KEY=<ใส่ API Key ของเรา>
#3 Install Python library ที่เกี่ยวข้อง และตั้งค่า Chatbot
หลังจากนั้นให้เราทำการ Install Library Package ที่เกี่ยวข้องดังนี้
pip install groq
แล้วก็มาสร้าง Chatbot โดยในที่นี้จะยกเป็นตัวอย่างการตั้งค่ะ Role ในโค้ดด้านล่างนี้ค่ะ
import os
from groq import Groq
client = Groq(
api_key=os.environ.get(“GROQ_API_KEY”),
)
chat_completion = client.chat.completions.create(
messages=[
{
“role”: “user”,
“content”: “Explain the importance of low latency LLMs”,
}
],
model=”mixtral-8x7b-32768″,
)
print(chat_completion.choices[0].message.content)
ซึ่งเราสามารถเลือกโมเดลจาก Groq ได้หลากหลายดังนี้,,
- Developer: Meta
- Model Name: LLaMA2–70b-chat
- Context Window: 4,096 tokens
- API String:
llama2-70b-4096
😎😄
Last but not Least..
ท้ายสุด,, นิกอยากให้ *Key takeaways สำหรับเพื่อนๆ ที่อยากศึกษาต่อเป็นเรื่อง Indeep ของสถาปัตยกรรมของระบบ TSP (ของ Groq นั่นเองค่ะ) ซึ่งถูกออกแบบมาเพื่อสนับสนุนการประมวลผลที่มีประสิทธิภาพสูงด้วยการใช้การสื่อสารแบบ Software-scheduled communication โดยเครือข่าย interconnection แบบ Dragonfly ช่วยให้การประมวลผลมีความยืดหยุ่นและลดความแปรปรวนของความหน่วง (latency) โดยระบบยังสามารถสเกลได้สูงสุดถึง 10,440 TSP บลาๆ =>> ref: https://dl.acm.org/doi/pdf/10.1145/3470496.3527405 ซึ่งเดี๋ยวจะมาเล่าให้อ่านในบทความหน้าค่ะ^^