1. ภาพรวม
ห้องทดลองนี้จะอธิบายขั้นตอนการปรับใช้เซิร์ฟเวอร์แอปพลิเคชัน LIT ใน Google Cloud Platform (GCP) อย่างละเอียดเพื่อโต้ตอบกับโมเดลพื้นฐาน Gemini ของ Vertex AI และโมเดลภาษาขนาดใหญ่ (LLM) ของบุคคลที่สามที่โฮสต์เอง รวมถึงคําแนะนําเกี่ยวกับวิธีใช้ UI ของ LIT เพื่อการแก้ไขข้อบกพร่องและการตีความโมเดล
เมื่อทำตามขั้นตอนในแล็บนี้ ผู้ใช้จะได้เรียนรู้วิธีต่อไปนี้
- กำหนดค่าเซิร์ฟเวอร์ LIT ใน GCP
- เชื่อมต่อเซิร์ฟเวอร์ LIT กับโมเดล Vertex AI Gemini หรือ LLM อื่นๆ ที่โฮสต์เอง
- ใช้ UI ของ LIT เพื่อวิเคราะห์ แก้ไขข้อบกพร่อง และตีความพรอมต์เพื่อให้ได้ประสิทธิภาพและข้อมูลเชิงลึกของโมเดลที่ดียิ่งขึ้น
LIT คืออะไร
LIT เป็นเครื่องมือการทำความเข้าใจโมเดลแบบอินเทอร์แอกทีฟที่แสดงภาพ ซึ่งรองรับข้อความ รูปภาพ และข้อมูลตาราง โดยสามารถเรียกใช้เป็นเซิร์ฟเวอร์แบบสแตนด์อโลนหรือในสภาพแวดล้อมของโน้ตบุ๊ก เช่น Google Colab, Jupyter และ Google Cloud Vertex AI LIT มีให้บริการใน PyPI และ GitHub
เดิมทีสร้างขึ้นเพื่อทำความเข้าใจโมเดลการจัดประเภทและการถดถอย การอัปเดตล่าสุดได้เพิ่มเครื่องมือสำหรับแก้ไขข้อบกพร่องพรอมต์ LLM ซึ่งช่วยให้คุณสำรวจว่าเนื้อหาของผู้ใช้ โมเดล และระบบส่งผลต่อลักษณะการสร้างอย่างไร
Vertex AI และ Model Garden คืออะไร
Vertex AI เป็นแพลตฟอร์มแมชชีนเลิร์นนิง (ML) ที่ช่วยให้คุณฝึกและใช้งานโมเดล ML และแอปพลิเคชัน AI รวมถึงปรับแต่ง LLM เพื่อใช้ในแอปพลิเคชันที่ทำงานด้วยระบบ AI Vertex AI รวมเวิร์กโฟลว์วิศวกรข้อมูล วิทยาศาสตร์ข้อมูล และวิศวกร ML เข้าด้วยกัน ซึ่งช่วยให้ทีมของคุณทํางานร่วมกันได้โดยใช้ชุดเครื่องมือทั่วไปและปรับขนาดแอปพลิเคชันโดยใช้ประโยชน์ของ Google Cloud
Vertex Model Garden คือคลังโมเดล ML ที่ช่วยให้คุณค้นพบ ทดสอบ ปรับแต่ง และติดตั้งใช้งานโมเดลและชิ้นงานที่เป็นกรรมสิทธิ์ของ Google รวมถึงโมเดลและชิ้นงานของบุคคลที่สามบางรายการ
สิ่งที่ต้องทำ
คุณจะใช้ Cloud Shell และ Cloud Run ของ Google เพื่อทำให้คอนเทนเนอร์ Docker ใช้งานได้จากอิมเมจที่สร้างไว้ล่วงหน้าของ LIT
Cloud Run เป็นแพลตฟอร์มการประมวลผลที่มีการจัดการซึ่งช่วยให้คุณเรียกใช้คอนเทนเนอร์บนโครงสร้างพื้นฐานที่ปรับขนาดได้ของ Google ได้โดยตรง รวมถึงใน GPU
ชุดข้อมูล
การสาธิตใช้ชุดข้อมูลตัวอย่างสำหรับการแก้ไขข้อบกพร่องของพรอมต์ LIT โดยค่าเริ่มต้น หรือคุณจะโหลดชุดข้อมูลของคุณเองผ่าน UI ก็ได้
ก่อนเริ่มต้น
คุณต้องมีโปรเจ็กต์ Google Cloud เพื่อใช้คู่มืออ้างอิงนี้ คุณสามารถสร้างโปรเจ็กต์ใหม่หรือเลือกโปรเจ็กต์ที่สร้างไว้แล้วก็ได้
2. เปิดคอนโซล Google Cloud และ Cloud Shell
คุณจะต้องเปิด Google Cloud Console และใช้ Google Cloud Shell ในขั้นตอนนี้
2-ก: เปิดคอนโซล Google Cloud
เปิดเบราว์เซอร์และไปที่ Google Cloud Console
Google Cloud Console เป็นอินเทอร์เฟซผู้ดูแลระบบเว็บที่มีประสิทธิภาพและปลอดภัย ซึ่งช่วยให้คุณจัดการทรัพยากร Google Cloud ได้อย่างรวดเร็ว เป็นเครื่องมือ DevOps ที่ใช้ได้ทุกที่ทุกเวลา
2-ข: เปิด Google Cloud Shell
Cloud Shell เป็นสภาพแวดล้อมการพัฒนาและการดำเนินการแบบออนไลน์ที่เข้าถึงได้จากทุกที่ด้วยเบราว์เซอร์ คุณจัดการทรัพยากรได้ด้วยเทอร์มินัลออนไลน์ที่โหลดยูทิลิตีไว้ล่วงหน้า เช่น เครื่องมือบรรทัดคำสั่ง gcloud, kubectl และอื่นๆ นอกจากนี้ คุณยังพัฒนา บิลด์ แก้ไขข้อบกพร่อง และทำให้แอปที่ทำงานบนระบบคลาวด์ใช้งานได้โดยใช้เครื่องมือแก้ไข Cloud Shell ออนไลน์ได้ด้วย Cloud Shell เป็นสภาพแวดล้อมออนไลน์ที่พร้อมใช้งานสำหรับนักพัฒนาซอฟต์แวร์ โดยมีชุดเครื่องมือที่ชื่นชอบซึ่งติดตั้งไว้ล่วงหน้าและพื้นที่เก็บข้อมูลถาวร 5 GB คุณจะใช้ Command Prompt ในขั้นตอนถัดไป
เปิด Google Cloud Shell โดยใช้ไอคอนที่ด้านขวาบนของแถบเมนู ซึ่งวงกลมไว้ด้วยสีน้ำเงินในภาพหน้าจอต่อไปนี้
คุณควรเห็นเทอร์มินัลที่มีเชลล์ Bash ที่ด้านล่างของหน้า
2-ค: ตั้งค่าโปรเจ็กต์ Google Cloud
คุณต้องตั้งค่ารหัสโปรเจ็กต์และภูมิภาคของโปรเจ็กต์โดยใช้คำสั่ง gcloud
# Set your GCP Project ID.
gcloud config set project your-project-id
# Set your GCP Project Region.
gcloud config set run/region your-project-region
3. ทำให้อิมเมจ Docker ของเซิร์ฟเวอร์แอป LIT ใช้งานได้ด้วย Cloud Run
3-ก: ติดตั้งใช้งานแอป LIT ใน Cloud Run
ก่อนอื่นคุณต้องตั้งค่า LIT-App เวอร์ชันล่าสุดเป็นเวอร์ชันที่จะติดตั้งใช้งาน
# Set latest version as your LIT_SERVICE_TAG.
export LIT_SERVICE_TAG=latest
# List all the public LIT GCP App server docker images.
gcloud container images list-tags us-east4-docker.pkg.dev/lit-demos/lit-app/gcp-lit-app
หลังจากตั้งค่าแท็กเวอร์ชันแล้ว คุณต้องตั้งชื่อบริการ
# Set your lit service name. While 'lit-app-service' is provided as a placeholder, you can customize the service name based on your preferences.
export LIT_SERVICE_NAME=lit-app-service
หลังจากนั้น ให้เรียกใช้คําสั่งต่อไปนี้เพื่อทําให้คอนเทนเนอร์ใช้งานได้ใน Cloud Run
# Use below cmd to deploy the LIT App to Cloud Run.
gcloud run deploy $LIT_SERVICE_NAME \
--image us-east4-docker.pkg.dev/lit-demos/lit-app/gcp-lit-app:$LIT_SERVICE_TAG \
--port 5432 \
--cpu 8 \
--memory 32Gi \
--no-cpu-throttling \
--no-allow-unauthenticated
นอกจากนี้ LIT ยังให้คุณเพิ่มชุดข้อมูลเมื่อเริ่มเซิร์ฟเวอร์ได้ด้วย โดยให้ตั้งค่าตัวแปร DATASETS
ให้รวมข้อมูลที่ต้องการโหลดโดยใช้รูปแบบ name:path
เช่น data_foo:/bar/data_2024.jsonl
รูปแบบชุดข้อมูลควรเป็น .jsonl โดยที่ระเบียนแต่ละรายการมีช่อง prompt
และช่อง target
และ source
(ไม่บังคับ) หากต้องการโหลดชุดข้อมูลหลายชุด ให้คั่นชุดข้อมูลด้วยคอมมา หากไม่ได้ตั้งค่า ระบบจะโหลดชุดข้อมูลตัวอย่างสำหรับการแก้ไขข้อบกพร่องของพรอมต์ LIT
# Set the dataset.
export DATASETS=[DATASETS]
การตั้งค่า MAX_EXAMPLES จะช่วยให้คุณกำหนดจำนวนตัวอย่างสูงสุดที่จะโหลดจากชุดการประเมินแต่ละชุดได้
# Set the max examples.
export MAX_EXAMPLES=[MAX_EXAMPLES]
จากนั้นในคําสั่งการนําไปใช้งาน คุณสามารถเพิ่ม
--set-env-vars "DATASETS=$DATASETS" \
--set-env-vars "MAX_EXAMPLES=$MAX_EXAMPLES" \
3-ข: ดูบริการแอป LIT
หลังจากสร้างเซิร์ฟเวอร์แอป LIT แล้ว คุณจะเห็นบริการในส่วน Cloud Run ของ Cloud Console
เลือกบริการแอป LIT ที่คุณเพิ่งสร้าง ตรวจสอบว่าชื่อบริการเหมือนกับ LIT_SERVICE_NAME
คุณดู URL ของบริการได้โดยคลิกบริการที่เพิ่งติดตั้งใช้งาน
จากนั้นคุณควรดู UI ของ LIT ได้ หากพบข้อผิดพลาด โปรดดูส่วนการแก้ปัญหา
คุณสามารถตรวจสอบส่วนบันทึกเพื่อตรวจสอบกิจกรรม ดูข้อความแสดงข้อผิดพลาด และติดตามความคืบหน้าของการติดตั้งใช้งาน
คุณสามารถตรวจสอบส่วนเมตริกเพื่อดูเมตริกของบริการ
3-ค: โหลดชุดข้อมูล
คลิกตัวเลือก Configure
ใน UI ของ LIT แล้วเลือก Dataset
โหลดชุดข้อมูลโดยระบุชื่อและ URL ของชุดข้อมูล รูปแบบชุดข้อมูลควรเป็น .jsonl โดยที่ระเบียนแต่ละรายการมีช่อง prompt
และช่อง target
และ source
(ไม่บังคับ)
4. เตรียมโมเดล Gemini ใน Model Garden ของ Vertex AI
โมเดลพื้นฐานของ Gemini ของ Google มีให้บริการจาก Vertex AI API LIT มี VertexAIModelGarden
Wrapper ของโมเดลเพื่อใช้โมเดลเหล่านี้ในการสร้าง เพียงระบุเวอร์ชันที่ต้องการ (เช่น "gemini-1.5-pro-001") ผ่านพารามิเตอร์ชื่อรุ่น ข้อดีหลักของการใช้รูปแบบเหล่านี้คือไม่ต้องทําอะไรเพิ่มเติมเพื่อใช้งาน โดยค่าเริ่มต้น คุณจะมีสิทธิ์เข้าถึงโมเดลต่างๆ เช่น Gemini 1.0 Pro และ Gemini 1.5 Pro ใน GCP ได้ทันที จึงไม่ต้องดำเนินการตามขั้นตอนการกําหนดค่าเพิ่มเติม
4-ก: ให้สิทธิ์ Vertex AI
หากต้องการค้นหา Gemini ใน GCP คุณต้องให้สิทธิ์ Vertex AI แก่บัญชีบริการ ตรวจสอบว่าชื่อบัญชีบริการคือ Default compute service account
คัดลอกอีเมลบัญชีบริการของบัญชี
เพิ่มอีเมลบัญชีบริการเป็นผู้ดําเนินการที่มีบทบาท Vertex AI User
ในรายการที่อนุญาต IAM
4-ข: โหลดโมเดล Gemini
คุณจะโหลดโมเดล Gemini และปรับพารามิเตอร์โดยทำตามขั้นตอนด้านล่าง
- คลิกตัวเลือก
Configure
ใน UI ของ LIT
- คลิกตัวเลือก
- เลือกตัวเลือก
gemini
ในส่วนตัวเลือกSelect a base model
- เลือกตัวเลือก
- คุณต้องตั้งชื่อรูปแบบใน
new_name
- คุณต้องตั้งชื่อรูปแบบใน
- ป้อนรูปแบบ Gemini ที่เลือกเป็น
model_name
- ป้อนรูปแบบ Gemini ที่เลือกเป็น
- คลิก
Load Model
- คลิก
- คลิก
Submit
- คลิก
5. ติดตั้งใช้งานเซิร์ฟเวอร์โมเดล LLM ที่โฮสต์เองบน GCP
การโฮสต์ LLM ด้วยตนเองด้วยอิมเมจ Docker ของเซิร์ฟเวอร์โมเดลของ LIT จะช่วยให้คุณใช้ฟังก์ชันความโดดเด่นและการแยกคำของ LIT เพื่อสร้างข้อมูลเชิงลึกที่ละเอียดยิ่งขึ้นเกี่ยวกับลักษณะการทํางานของโมเดล รูปภาพเซิร์ฟเวอร์โมเดลใช้ได้กับโมเดล KerasNLP หรือ Hugging Face Transformers รวมถึงน้ำหนักที่ไลบรารีระบุไว้และน้ำหนักที่โฮสต์ด้วยตนเอง เช่น ใน Google Cloud Storage
5-ก: กำหนดค่าโมเดล
คอนเทนเนอร์แต่ละรายการจะโหลดโมเดล 1 รายการซึ่งกําหนดค่าโดยใช้ตัวแปรสภาพแวดล้อม
คุณควรระบุโมเดลที่จะโหลดโดยการตั้งค่า MODEL_CONFIG รูปแบบควรเป็น name:path
เช่น model_foo:model_foo_path
เส้นทางอาจเป็น URL, เส้นทางไฟล์ในเครื่อง หรือชื่อของค่าที่กำหนดล่วงหน้าสำหรับเฟรมเวิร์กการเรียนรู้เชิงลึกที่กำหนดค่าไว้ (ดูข้อมูลเพิ่มเติมในตารางต่อไปนี้) เซิร์ฟเวอร์นี้ได้รับการทดสอบด้วย Gemma, GPT2, Llama และ Mistral ในค่า DL_FRAMEWORK
ที่รองรับทั้งหมด โมเดลอื่นๆ ควรใช้งานได้ แต่อาจต้องมีการปรับแต่ง
# Set models you want to load. While 'gemma2b is given as a placeholder, you can load your preferred model by following the instructions above.
export MODEL_CONFIG=gemma2b:gemma_2b_en
นอกจากนี้ เซิร์ฟเวอร์โมเดล LIT ยังอนุญาตให้กําหนดค่าตัวแปรสภาพแวดล้อมต่างๆ โดยใช้คําสั่งด้านล่าง โปรดดูรายละเอียดในตาราง โปรดทราบว่าต้องตั้งค่าแต่ละตัวแปรแยกกัน
# Customize the variable value as needed.
export [VARIABLE]=[VALUE]
ตัวแปร | ค่า | คำอธิบาย |
DL_FRAMEWORK |
| ไลบรารีการประมาณที่ใช้โหลดน้ำหนักโมเดลลงในรันไทม์ที่ระบุ ค่าเริ่มต้นคือ |
DL_RUNTIME |
| เฟรมเวิร์กแบ็กเอนด์การเรียนรู้เชิงลึกที่โมเดลทำงานอยู่ โมเดลทั้งหมดที่เซิร์ฟเวอร์นี้โหลดจะใช้แบ็กเอนด์เดียวกัน ความไม่เข้ากันได้จะทำให้เกิดข้อผิดพลาด ค่าเริ่มต้นคือ |
PRECISION |
| ความแม่นยำของจุดลอยตัวสำหรับโมเดล LLM ค่าเริ่มต้นคือ |
BATCH_SIZE | จํานวนเต็มบวก | จำนวนตัวอย่างที่จะประมวลผลต่อกลุ่ม ค่าเริ่มต้นคือ |
SEQUENCE_LENGTH | จํานวนเต็มบวก | ความยาวสูงสุดของลําดับพรอมต์อินพุตบวกข้อความที่สร้างขึ้น ค่าเริ่มต้นคือ |
5-ข: ติดตั้งใช้งานเซิร์ฟเวอร์โมเดลใน Cloud Run
ก่อนอื่นคุณต้องตั้งค่า Model Server เวอร์ชันล่าสุดเป็นเวอร์ชันที่จะทําให้ใช้งานได้
# Set latest as MODEL_VERSION_TAG.
export MODEL_VERSION_TAG=latest
# List all the public LIT GCP model server docker images.
gcloud container images list-tags us-east4-docker.pkg.dev/lit-demos/lit-app/gcp-model-server
หลังจากตั้งค่าแท็กเวอร์ชันแล้ว คุณต้องตั้งชื่อ model-server
# Set your Service name.
export MODEL_SERVICE_NAME='gemma2b-model-server'
หลังจากนั้น ให้เรียกใช้คําสั่งต่อไปนี้เพื่อทําให้คอนเทนเนอร์ใช้งานได้ใน Cloud Run หากคุณไม่ได้ตั้งค่าตัวแปรสภาพแวดล้อม ระบบจะใช้ค่าเริ่มต้น เนื่องจาก LLM ส่วนใหญ่ต้องใช้ทรัพยากรการประมวลผลที่มีราคาแพง เราจึงขอแนะนําอย่างยิ่งให้ใช้ GPU หากต้องการเรียกใช้บน CPU เท่านั้น (ซึ่งใช้ได้กับโมเดลขนาดเล็กอย่าง GPT2) ให้นำอาร์กิวเมนต์ที่เกี่ยวข้อง --gpu 1 --gpu-type nvidia-l4 --max-instances 7
ออก
# Deploy the model service container.
gcloud beta run deploy $MODEL_SERVICE_NAME \
--image us-east4-docker.pkg.dev/lit-demos/lit-app/gcp-model-server:$MODEL_VERSION_TAG \
--port 5432 \
--cpu 8 \
--memory 32Gi \
--no-cpu-throttling \
--gpu 1 \
--gpu-type nvidia-l4 \
--max-instances 7 \
--set-env-vars "MODEL_CONFIG=$MODEL_CONFIG" \
--no-allow-unauthenticated
นอกจากนี้ คุณยังปรับแต่งตัวแปรสภาพแวดล้อมได้โดยเพิ่มคําสั่งต่อไปนี้ ใส่เฉพาะตัวแปรสภาพแวดล้อมที่จําเป็นสําหรับความต้องการเฉพาะของคุณ
--set-env-vars "DL_FRAMEWORK=$DL_FRAMEWORK" \
--set-env-vars "DL_RUNTIME=$DL_RUNTIME" \
--set-env-vars "PRECISION=$PRECISION" \
--set-env-vars "BATCH_SIZE=$BATCH_SIZE" \
--set-env-vars "SEQUENCE_LENGTH=$SEQUENCE_LENGTH" \
คุณอาจต้องใช้ตัวแปรสภาพแวดล้อมเพิ่มเติมเพื่อเข้าถึงโมเดลบางรายการ ดูวิธีการจาก Kaggle Hub (ใช้สำหรับโมเดล KerasNLP) และ Hugging Face Hub ตามเหมาะสม
5-ค: เข้าถึงเซิร์ฟเวอร์โมเดล
หลังจากสร้างเซิร์ฟเวอร์โมเดลแล้ว คุณจะเห็นบริการที่เริ่มต้นในส่วน Cloud Run ของโปรเจ็กต์ GCP
เลือกเซิร์ฟเวอร์ต้นแบบที่คุณเพิ่งสร้าง ตรวจสอบว่าชื่อบริการเหมือนกับ MODEL_SERVICE_NAME
คุณดู URL ของบริการได้โดยคลิกบริการโมเดลที่เพิ่งติดตั้งใช้งาน
คุณสามารถตรวจสอบส่วนบันทึกเพื่อติดตามกิจกรรม ดูข้อความแสดงข้อผิดพลาด และติดตามความคืบหน้าของการติดตั้งใช้งาน
คุณสามารถตรวจสอบส่วนเมตริกเพื่อดูเมตริกของบริการ
5-ง: โหลดโมเดลที่โฮสต์เอง
หากคุณใช้พร็อกซีเซิร์ฟเวอร์ LIT ในขั้นตอนที่ 3 (ดูส่วนการแก้ปัญหา) คุณจะต้องรับโทเค็นระบุตัวตน GCP โดยเรียกใช้คําสั่งต่อไปนี้
# Find your GCP identity token.
gcloud auth print-identity-token
คุณจะโหลดโมเดลที่โฮสต์เองและปรับพารามิเตอร์ของโมเดลโดยทำตามขั้นตอนด้านล่าง
- คลิกตัวเลือก
Configure
ใน UI ของ LIT - เลือกตัวเลือก
LLM (self hosted)
ในส่วนตัวเลือกSelect a base model
- คุณต้องตั้งชื่อรูปแบบใน
new_name
- ป้อน URL ของเซิร์ฟเวอร์โมเดลเป็น
base_url
- ป้อนโทเค็นข้อมูลประจำตัวที่ได้รับใน
identity_token
หากคุณใช้พร็อกซีเซิร์ฟเวอร์แอป LIT (ดูขั้นตอนที่ 3 และขั้นตอนที่ 7) หรือเว้นว่างไว้ - คลิก
Load Model
- คลิก
Submit
6. โต้ตอบกับ LIT ใน GCP
LIT มีชุดฟีเจอร์ที่หลากหลายเพื่อช่วยแก้ไขข้อบกพร่องและทำความเข้าใจลักษณะการทํางานของโมเดล คุณทําสิ่งง่ายๆ ได้ เช่น ค้นหาโมเดลโดยการพิมพ์ข้อความในช่องและดูการคาดการณ์ของโมเดล หรือตรวจสอบโมเดลอย่างละเอียดด้วยชุดฟีเจอร์ที่มีประสิทธิภาพของ LIT ซึ่งรวมถึง
6-ก: ค้นหาโมเดลผ่าน LIT
LIT จะค้นหาชุดข้อมูลโดยอัตโนมัติหลังจากโหลดโมเดลและชุดข้อมูล คุณสามารถดูคําตอบของโมเดลแต่ละรายการได้โดยเลือกคําตอบในคอลัมน์
6-ข: ใช้เทคนิคความโดดเด่นของลําดับ
ปัจจุบันเทคนิคความโดดเด่นของลําดับใน LIT รองรับเฉพาะโมเดลที่โฮสต์เองเท่านั้น
ลำดับความสำคัญคือเครื่องมือภาพที่ช่วยแก้ไขข้อบกพร่องของพรอมต์ LLM โดยการไฮไลต์ส่วนที่สําคัญที่สุดของพรอมต์สําหรับเอาต์พุตหนึ่งๆ ดูข้อมูลเพิ่มเติมเกี่ยวกับความสำคัญของลําดับได้จากบทแนะนําฉบับเต็มเกี่ยวกับวิธีใช้ฟีเจอร์นี้
หากต้องการเข้าถึงผลลัพธ์ความโดดเด่น ให้คลิกอินพุตหรือเอาต์พุตในพรอมต์หรือคำตอบ แล้วผลลัพธ์ความโดดเด่นจะปรากฏขึ้น
6-ค: แก้ไขพรอมต์และเป้าหมายด้วยตนเอง
LIT ให้คุณแก้ไข prompt
และ target
ของจุดข้อมูลที่มีอยู่ด้วยตนเอง เมื่อคลิก Add
ระบบจะเพิ่มอินพุตใหม่ลงในชุดข้อมูล
6-ง: เปรียบเทียบพรอมต์แบบเทียบเคียง
LIT ช่วยให้คุณเปรียบเทียบพรอมต์แบบแสดงคู่กันจากตัวอย่างต้นฉบับและที่แก้ไขแล้ว คุณสามารถแก้ไขตัวอย่างด้วยตนเองและดูผลลัพธ์การคาดการณ์และการวิเคราะห์ความโดดเด่นของลำดับสำหรับทั้งเวอร์ชันต้นฉบับและเวอร์ชันที่แก้ไขพร้อมกันได้ คุณสามารถแก้ไขพรอมต์สำหรับจุดข้อมูลแต่ละจุดได้ และ LIT จะสร้างคำตอบที่สอดคล้องกันโดยการค้นหาโมเดล
6-จ: เปรียบเทียบรูปแบบหลายรูปแบบควบคู่กัน
LIT ช่วยให้เปรียบเทียบโมเดลในการสร้างข้อความและตัวอย่างการให้คะแนนแต่ละรายการ รวมถึงตัวอย่างแบบรวมสำหรับเมตริกที่เฉพาะเจาะจงได้ การค้นหาโมเดลที่โหลดไว้ต่างๆ จะช่วยให้คุณเปรียบเทียบความแตกต่างของคำตอบได้อย่างง่ายดาย
6-ฉ: ตัวสร้างกลุ่มเปรียบเทียบแบบอัตโนมัติ
คุณสามารถใช้เครื่องมือสร้างข้อมูลเปรียบเทียบสมมติอัตโนมัติเพื่อสร้างอินพุตทางเลือก และดูว่าโมเดลทำงานอย่างไรกับข้อมูลเหล่านั้นได้ทันที
6-ง: ประเมินประสิทธิภาพของโมเดล
คุณสามารถประเมินประสิทธิภาพของโมเดลได้โดยใช้เมตริก (ปัจจุบันรองรับคะแนน BLEU และ ROUGE ในการสร้างข้อความ) กับทั้งชุดข้อมูล หรือชุดย่อยของตัวอย่างที่กรองหรือเลือกไว้
7. การแก้ปัญหา
7-ก: ปัญหาการเข้าถึงที่อาจเกิดขึ้นและวิธีแก้ไข
เนื่องจากมีการใช้ --no-allow-unauthenticated
เมื่อทำให้ใช้งานได้กับ Cloud Run คุณจึงอาจพบข้อผิดพลาด "ไม่ได้รับอนุญาต" ตามที่แสดงด้านล่าง
การเข้าถึงบริการแอป LIT มี 2 วิธีดังนี้
1. พร็อกซีไปยังบริการในพื้นที่
คุณสามารถใช้พร็อกซีบริการไปยังโฮสต์ในเครื่องได้โดยใช้คำสั่งด้านล่าง
# Proxy the service to local host.
gcloud run services proxy $LIT_SERVICE_NAME
จากนั้นคุณควรเข้าถึงเซิร์ฟเวอร์ LIT ได้โดยคลิกลิงก์บริการที่ใช้พร็อกซี
2. ตรวจสอบสิทธิ์ผู้ใช้โดยตรง
คุณไปที่ลิงก์นี้เพื่อตรวจสอบสิทธิ์ผู้ใช้ได้ ซึ่งจะช่วยให้เข้าถึงบริการ LIT App ได้โดยตรง แนวทางนี้ยังช่วยให้กลุ่มผู้ใช้เข้าถึงบริการได้อีกด้วย สำหรับการพัฒนาที่ต้องมีการทํางานร่วมกันหลายคน ตัวเลือกนี้จะมีประสิทธิภาพมากกว่า
7-ข: ตรวจสอบว่าเซิร์ฟเวอร์โมเดลเปิดใช้งานได้สําเร็จ
คุณสามารถตรวจสอบว่าเซิร์ฟเวอร์โมเดลเปิดใช้งานสําเร็จหรือไม่โดยการค้นหาเซิร์ฟเวอร์โมเดลโดยตรงด้วยการส่งคําขอ เซิร์ฟเวอร์โมเดลมีปลายทาง 3 รายการ ได้แก่ predict
, tokenize
และ salience
ตรวจสอบว่าคุณระบุทั้งช่อง prompt
และ target
ในคำขอ
# Query the model server predict endpoint.
curl -X POST http://YOUR_MODEL_SERVER_URL/predict -H "Content-Type: application/json" -d '{"inputs":[{"prompt":"[YOUR PROMPT]", "target":[YOUR TARGET]}]}'
# Query the model server tokenize endpoint.
curl -X POST http://YOUR_MODEL_SERVER_URL/tokenize -H "Content-Type: application/json" -d '{"inputs":[{"prompt":"[YOUR PROMPT]", "target":[YOUR TARGET]}]}'
# Query the model server salience endpoint.
curl -X POST http://YOUR_MODEL_SERVER_URL/salience -H "Content-Type: application/json" -d '{"inputs":[{"prompt":"[YOUR PROMPT]", "target":[YOUR TARGET]}]}'
หากพบปัญหาในการเข้าถึง โปรดดูส่วนที่ 7-ก ด้านบน
8. ขอแสดงความยินดี
เยี่ยมมากที่ทำ Codelab เสร็จ ได้เวลาผ่อนคลายแล้ว
ล้างข้อมูล
หากต้องการล้างข้อมูลในแล็บ ให้ลบบริการ Google Cloud ทั้งหมดที่สร้างไว้สําหรับห้องทดลอง ใช้ Google Cloud Shell เพื่อเรียกใช้คําสั่งต่อไปนี้
หากการเชื่อมต่อ Google Cloud ขาดหายไปเนื่องจากไม่มีการใช้งาน ให้รีเซ็ตตัวแปรโดยทำตามขั้นตอนก่อนหน้า
# Delete the LIT App Service.
gcloud run services delete $LIT_SERVICE_NAME
หากเริ่มเซิร์ฟเวอร์โมเดลแล้ว คุณจะต้องลบเซิร์ฟเวอร์โมเดลด้วย
# Delete the Model Service.
gcloud run services delete $MODEL_SERVICE_NAME
อ่านเพิ่มเติม
ดูข้อมูลเพิ่มเติมเกี่ยวกับฟีเจอร์ของเครื่องมือ LIT ได้จากเอกสารด้านล่าง
- Gemma: ลิงก์
- ฐานโค้ดโอเพนซอร์สของ LIT: ที่เก็บ Git
- เอกสาร LIT: ArXiv
- บทความการแก้ไขข้อบกพร่องของพรอมต์ LIT: ArXiv
- วิดีโอสาธิตฟีเจอร์ LIT: YouTube
- เดโมการแก้ไขข้อบกพร่องของพรอมต์ LIT: YouTube
- เครื่องมือ GenAI อย่างมีความรับผิดชอบ: ลิงก์
การติดต่อ
หากมีคำถามหรือปัญหาเกี่ยวกับโค้ดแล็บนี้ โปรดติดต่อเราใน GitHub
ใบอนุญาต
ผลงานนี้ได้รับอนุญาตภายใต้สัญญาอนุญาตครีเอทีฟคอมมอนส์สำหรับยอมรับสิทธิของผู้สร้าง (Creative Commons Attribution License) 4.0 ทั่วไป