วิธีที่ง่ายที่สุดในการให้บริการโมเดล AI/ML ในการผลิต
เขียนเพียงครั้งเดียว เรียกใช้ได้ทุกที่: จัดทำแพ็คเกจและทดสอบโค้ดโมเดล น้ำหนัก และการขึ้นต่อกันกับเซิร์ฟเวอร์โมเดลที่ทำงานเหมือนกันในการพัฒนาและการใช้งานจริง
วงจรนักพัฒนาที่รวดเร็ว: นำโมเดลของคุณไปใช้โดยได้รับผลตอบกลับอย่างรวดเร็วจากเซิร์ฟเวอร์รีโหลดแบบเรียลไทม์ และข้ามการกำหนดค่า Docker และ Kubernetes ด้วยสภาพแวดล้อมการให้บริการโมเดลที่รวมแบตเตอรี่
รองรับเฟรมเวิร์ก Python ทั้งหมด : ตั้งแต่ transformers
และ diffusers
ไปจนถึง PyTorch
และ TensorFlow
ไปจนถึง TensorRT
และ Triton
Truss รองรับโมเดลที่สร้างและให้บริการกับเฟรมเวิร์กใดก็ได้
ดูโครงถักสำหรับรุ่นยอดนิยม ได้แก่:
ลามะ 2 7B (13B) (70B)
การแพร่กระจายที่เสถียร XL
กระซิบ
และตัวอย่างอีกมากมาย
ติดตั้ง Truss ด้วย:
pip install --upgrade truss
เพื่อเป็นตัวอย่างอย่างรวดเร็ว เราจะจัดทำแพ็คเกจไปป์ไลน์การจัดหมวดหมู่ข้อความจากแพ็คเกจ transformers
ในการเริ่มต้น ให้สร้าง Truss ด้วยคำสั่งเทอร์มินัลต่อไปนี้:
การจัดประเภทข้อความเริ่มต้นของ Truss
เมื่อได้รับแจ้ง ให้ตั้งชื่อ Truss ของคุณ เช่น Text classification
จากนั้นไปที่ไดเร็กทอรีที่สร้างขึ้นใหม่:
การจำแนกข้อความซีดี
หนึ่งในสองไฟล์สำคัญใน Truss คือ model/model.py
ในไฟล์นี้ คุณเขียนคลาส Model
: อินเทอร์เฟซระหว่างโมเดล ML ที่คุณบรรจุและเซิร์ฟเวอร์โมเดลที่คุณใช้งานอยู่
มีสองฟังก์ชันสมาชิกที่คุณต้องใช้ในคลาส Model
:
load()
โหลดโมเดลไปยังเซิร์ฟเวอร์โมเดล โดยจะทำงานเพียงครั้งเดียวเมื่อมีการหมุนหรือแพตช์เซิร์ฟเวอร์โมเดล
predict()
จัดการการอนุมานโมเดล มันทำงานทุกครั้งที่มีการเรียกเซิร์ฟเวอร์โมเดล
นี่คือ model/model.py
ที่สมบูรณ์สำหรับโมเดลการจัดหมวดหมู่ข้อความ:
จากหม้อแปลงนำเข้าไปป์ไลน์คลาส Model:def __init__(self, **kwargs):self._model = Nonedef load(self):self._model =ไปป์ไลน์("การจำแนกประเภทข้อความ")def ทำนาย (self, model_input): return self._model (รุ่น_อินพุต)
ไฟล์สำคัญอื่นๆ ใน Truss คือ config.yaml
ซึ่งกำหนดค่าสภาพแวดล้อมการให้บริการโมเดล หากต้องการดูรายการตัวเลือกการกำหนดค่าทั้งหมด โปรดดูข้อมูลอ้างอิงการกำหนดค่า
โมเดลไปป์ไลน์อาศัย Transformers และ PyTorch ต้องระบุการขึ้นต่อกันเหล่านี้ในการกำหนดค่า Truss
ใน config.yaml
ให้ค้นหา requirements
ของบรรทัด แทนที่รายการว่างด้วย:
ความต้องการ: - คบเพลิง==2.0.1 - หม้อแปลง==4.30.0
ไม่จำเป็นต้องกำหนดค่าอื่นใด
Truss ได้รับการดูแลโดย Baseten ซึ่งจัดเตรียมโครงสร้างพื้นฐานสำหรับการรันโมเดล ML ในการผลิต เราจะใช้ Baseten เป็นโฮสต์ระยะไกลสำหรับโมเดลของคุณ
รีโมตอื่นๆ จะตามมาในเร็วๆ นี้ โดยเริ่มจาก AWS SageMaker
หากต้องการตั้งค่ารีโมต Baseten คุณจะต้องมีคีย์ Baseten API หากคุณไม่มีบัญชี Baseten ไม่ต้องกังวล เพียงสมัครเปิดบัญชีแล้วคุณจะได้รับเครดิตฟรีมากมายเพื่อเริ่มต้นใช้งาน
truss push
เมื่อคีย์ Baseten API ของคุณพร้อมที่จะวางเมื่อได้รับแจ้ง คุณสามารถปรับใช้โมเดลของคุณได้:
มัดผลักดัน
คุณสามารถตรวจสอบการปรับใช้โมเดลของคุณได้จากแดชบอร์ดโมเดลของคุณบน Baseten
หลังจากที่โมเดลปรับใช้เสร็จแล้ว คุณสามารถเรียกใช้โมเดลได้จากเทอร์มินัล
การภาวนา
มัดทำนาย -d '"มัดสุดยอดมาก!"'
การตอบสนอง
- {"ป้ายกำกับ": "บวก", "คะแนน": 0.999873161315918 - -
Truss ได้รับการสนับสนุนจาก Baseten และสร้างขึ้นโดยความร่วมมือกับวิศวกร ML ทั่วโลก ขอขอบคุณเป็นพิเศษสำหรับ Stephan Auerhahn @เสถียรภาพ.ai และ Daniel Sarfati @ Salad Technologies สำหรับการสนับสนุนของพวกเขา
เรายินดีต้อนรับการมีส่วนร่วมอย่างกระตือรือร้นตามแนวทางและจรรยาบรรณของผู้ร่วมให้ข้อมูลของเรา