×
Community Blog การปรับใช้โมเดลที่ได้รับการฝึกอบรมล่วงหน้าบน Alibaba Cloud ECS โดยใช้ Transformers และ Gradio

การปรับใช้โมเดลที่ได้รับการฝึกอบรมล่วงหน้าบน Alibaba Cloud ECS โดยใช้ Transformers และ Gradio

บล็อกนี้สาธิตวิธีการปรับใช้โมเดลที่ได้รับการฝึกอบรมล่วงหน้าหลายรายการบน Alibaba Cloud ECS เดียว

โดย Jawad

ในบล็อกนี้เราจะสาธิตวิธีการปรับใช้โมเดลที่ได้รับการฝึกอบรมล่วงหน้าหลายรายการบน Alibaba Cloud ECS เดียว เราจะใช้โมเดลที่ได้รับการฝึกล่วงหน้าซึ่งมีอยู่บน Hugging face และ Gradio เพื่อโต้ตอบกับโมเดล แนวทางนี้จัดให้มีการปรับใช้โค้ดต่ำสำหรับโมเดล ML ที่มีประโยชน์สำหรับการสร้างต้นแบบและการพิสูจน์แนวคิด สำหรับวัตถุประสงค์ในการสาธิต เราจะยกตัวอย่างการใช้งานสองตัวอย่าง คือ ตัวอย่างหนึ่งเกี่ยวข้องกับการประมวลผลภาษาธรรมชาติ (NLP) และตัวอย่างอื่น ๆ ที่เกี่ยวข้องกับคอมพิวเตอร์วิทัศน์ ก่อนจะไปต่อ เรามาพูดถึง Gradio และ Hugging face กันก่อน

Gradio คือไลบรารี Python ที่ใช้สร้าง ปรับแต่ง และแชร์การสาธิตบนเว็บสำหรับโมเดลการเรียนรู้ของเครื่องใดๆ ก็ตาม สิ่งนี้ทำให้เราสามารถโต้ตอบกับโมเดลได้โดยใช้เว็บเบราว์เซอร์

Hugging Face เป็นองค์กรวิจัย AI ที่ให้สิทธิ์เข้าถึงเครื่องมือโอเพนซอร์สและห้องสมุดสำหรับ การประมวลผลภาษาธรรมชาติ (NLP) และงานคอมพิวเตอร์วิทัศน์ หนึ่งในการสร้างสรรค์ที่ได้รับความนิยมมากที่สุดคือไลบรารี "Transformers" ซึ่งมีโมเดลที่ได้รับการฝึกอบรมล่วงหน้าสำหรับการใช้งานที่หลากหลาย เช่น การจัดหมวดหมู่ข้อความ การแปลภาษา การตอบคำถาม และการสร้างข้อความ การจัดหมวดหมู่รูปภาพ ฯลฯ

การใช้ Hugging face Transformer และ Gradio ร่วมกันทำให้โมเดล AI เข้าถึงและใช้งานได้มากขึ้นสำหรับผู้ชมในวงกว้าง ตั้งแต่นักพัฒนาและนักวิจัยไปจนถึงผู้ใช้ปลายทางที่อาจไม่มีความเชี่ยวชาญทางเทคนิคในการเรียนรู้ของเครื่อง

โมเดลที่ฝึกไว้ล่วงหน้าที่ใช้ Hugging face คือ

  1. สำหรับ NLP การจำแนกประเภทข้อความ (การวิเคราะห์ความรู้สึก):DistilBERT Model
  2. สำหรับคอมพิวเตอร์วิทัศน์ การจัดหมวดหมู่ภาพ: Vision Transformer (ViT) model

เป็นที่น่าสังเกตว่าทั้งสองรุ่นนี้ถูกใช้เป็นตัวอย่าง ผู้อ่านสามารถลอง Hugging face รุ่นอื่นๆ ในลักษณะที่คล้ายกันไม่มากก็น้อยได้

ให้เราหารือเกี่ยวกับรายละเอียดการใช้อินสแตนซ์ ECS สำหรับการปรับใช้ในลักษณะทีละขั้นตอน

1.  หมุนอินสแตนซ์ Alibaba Cloud ECS: ข้อมูลจำเพาะของอินสแตนซ์ขึ้นอยู่กับโมเดล ML สำหรับตัวอย่างของเราจะใช้ข้อกำหนดต่อไปนี้

1


2
Fig-1: ECS configuration

2.  กำลังเตรียมการตั้งค่า (จำเป็นเพียงครั้งเดียว)

เมื่ออินสแตนซ์ ECS เริ่มทำงาน ให้เข้าสู่ระบบอินสแตนซ์ ใช้พรอมต์คำสั่ง

  1. อัปเดตรายการแพ็คเกจโดยดำเนินการ: apt update
  2. สร้างสภาพแวดล้อมเสมือนจริง (ทางเราใช้ "ai" เป็นชื่อของสภาพแวดล้อม)
apt install python3-venv -y
python3 -m venv ai

Iii. เปิดใช้งานสภาพแวดล้อมโดยใช้: source ai/bin/activate

  1. ติดตั้งไลบรารี Python ที่จำเป็นต่อไปนี้
pip install transformers
pip install gradio
        pip install torch
         pip install sentencepiece
         pip install sacremoses

3.  โค้ด Python สำหรับการใช้โมเดลที่ผ่านการฝึกอบรมมาแล้ว

ก) โมเดล NLP: สร้างไฟล์ Python “nlp.py” โดยพิมพ์ nano nlp.py ที่เทอร์มินัล เมื่อตัวแก้ไขเปิดขึ้น ให้คัดลอกและวางโค้ดต่อไปนี้

from transformers import pipeline
import gradio as gr
pipe = pipeline("text-classification", model="distilbert-base-uncased-finetuned-sst-2-english")
demo = gr.Interface.from_pipeline(pipe)
demo.launch(server_name="0.0.0.0", server_port=8000)

Fig-2 แสดงโค้ดภายในตัวแก้ไข nano บันทึกไฟล์โดยกด Ctrl+x เลือก “Y” แล้วกด Enter

3
Fig-2: โค้ดสำหรับการวิเคราะห์ความเชื่อมั่น

b) โมเดลการจำแนกประเภทรูปภาพ

สร้างไฟล์ Python อีกไฟล์โดยใช้ nano classify.py และแก้ไขโค้ดโดยการเปลี่ยนประเภทโมเดล ชื่อ หัวเรื่อง และหมายเลขพอร์ต ดังแสดงใน Fig-3 ออกและบันทึกไฟล์

4
Fig-3: โค้ดสำหรับการจำแนกภาพ

4.  เรียกใช้โมเดล

ในการเรียกใช้โมเดลเหล่านี้ เราจำเป็นต้องเปิดเทอร์มินัลสองเทอร์มินัลบนอินสแตนซ์ Alibaba Cloud ECS ดังที่ให้ไว้ใน Fig-4 ตรวจสอบให้แน่ใจว่าเปิดใช้งานสภาพแวดล้อมเสมือนของ Python แล้ว ดำเนินการต่อไปนี้ที่ Alibaba Cloud ECS CLI บน

  • เทอร์มินัลหนึ่ง: python run nlp.py
  • เทอร์มินัลสอง: python run classify.py

5
Fig-4: การรันทั้งสองรุ่นบนอินสแตนซ์ ECS เดียวกันโดยใช้สองเทอร์มินัล

5.  โต้ตอบกับโมเดล

หากต้องการใช้โมเดลที่ใช้งาน ให้เปิดเบราว์เซอร์บนพีซีของคุณ และใช้ที่อยู่ IP สาธารณะของอินสแตนซ์ ECS ของคุณด้วยหมายเลขพอร์ต คั่นด้วยเครื่องหมายทวิภาค (:) ดังแสดงด้านล่างใน Fig-5 และ Fig-6

แทนที่จะใช้ที่อยู่ IP สาธารณะของ ECS เรากำลังใช้ชื่อโดเมน คุณสามารถเลือกดำเนินการดังกล่าวได้ หากคุณมีชื่อโดเมนโดยการเชื่อมโยงชื่อดังกล่าวกับ IP สาธารณะของอินสแตนซ์ ECS ของคุณ

6

เปิดเบราว์เซอร์ที่สอง และเปลี่ยนหมายเลขพอร์ต (9000) เพื่อโต้ตอบกับโมเดลคอมพิวเตอร์วิทัศน์ อัปโหลดภาพและดูผลการจำแนกประเภท

7

ลองใช้รูปภาพต่างๆ และดูการตอบสนองของโมเดล


บทความต้นฉบับเป็นภาษาอังกฤษ ดูบทความต้นฉบับที่นี่

0 0 0
Share on

Regional Content Hub

80 posts | 3 followers

Comments

Regional Content Hub

80 posts | 3 followers

Related Products