สร้าง UI ของเว็บเพื่อโต้ตอบกับ LLM โดยใช้ Amazon SageMaker JumpStart | อเมซอนเว็บเซอร์วิส

สร้าง UI ของเว็บเพื่อโต้ตอบกับ LLM โดยใช้ Amazon SageMaker JumpStart | อเมซอนเว็บเซอร์วิส

การเปิดตัว ChatGPT และความนิยมที่เพิ่มขึ้นของ generative AI ได้ดึงดูดจินตนาการของลูกค้าที่สงสัยว่าพวกเขาสามารถใช้เทคโนโลยีนี้เพื่อสร้างผลิตภัณฑ์และบริการใหม่บน AWS ได้อย่างไร เช่น แชทบอทระดับองค์กรซึ่งมีการสนทนามากกว่า โพสต์นี้แสดงให้คุณเห็นว่าคุณสามารถสร้าง UI ของเว็บซึ่งเราเรียกว่า Chat Studio ได้อย่างไร เพื่อเริ่มการสนทนาและโต้ตอบกับโมเดลพื้นฐานที่มีอยู่ใน Amazon SageMaker JumpStart เช่น Llama 2, Stable Diffusion และรุ่นอื่นๆ ที่มีใน อเมซอน SageMaker. หลังจากที่คุณปรับใช้โซลูชันนี้ ผู้ใช้สามารถเริ่มต้นได้อย่างรวดเร็วและสัมผัสกับความสามารถของโมเดลพื้นฐานหลายตัวใน AI เชิงสนทนาผ่านอินเทอร์เฟซเว็บ

Chat Studio ยังสามารถเลือกเรียกใช้จุดสิ้นสุดของโมเดล Stable Diffusion เพื่อส่งคืนภาพต่อกันของรูปภาพและวิดีโอที่เกี่ยวข้องได้ หากผู้ใช้ร้องขอให้แสดงสื่อ คุณลักษณะนี้สามารถช่วยเพิ่มประสบการณ์ผู้ใช้ด้วยการใช้สื่อเป็นทรัพย์สินที่มาพร้อมกับการตอบสนอง นี่เป็นเพียงตัวอย่างหนึ่งของวิธีที่คุณสามารถเพิ่มคุณค่าให้กับ Chat Studio ด้วยการผสานรวมเพิ่มเติมเพื่อให้บรรลุเป้าหมายของคุณ

ภาพหน้าจอต่อไปนี้แสดงตัวอย่างลักษณะของข้อความค้นหาและการตอบกลับของผู้ใช้

อินเทอร์เฟซแบบสอบถาม Chat Studio

อินเทอร์เฟซการตอบกลับของ Chat Studio

โมเดลภาษาขนาดใหญ่

แชทบอท AI ทั่วไป เช่น ChatGPT ขับเคลื่อนโดยโมเดลภาษาขนาดใหญ่ (LLM) ซึ่งใช้โครงข่ายประสาทเทียมการเรียนรู้เชิงลึก ซึ่งสามารถฝึกกับข้อความที่ไม่มีป้ายกำกับจำนวนมากได้ การใช้ LLM ช่วยให้ได้รับประสบการณ์การสนทนาที่ดีขึ้น ซึ่งคล้ายกับปฏิสัมพันธ์กับมนุษย์อย่างใกล้ชิด ส่งเสริมความรู้สึกของการเชื่อมโยงและความพึงพอใจของผู้ใช้ที่ดีขึ้น

โมเดลพื้นฐาน SageMaker

ในปี 2021 สถาบัน Stanford Institute for Human-Centered Artificial Intelligence เรียก LLM บางแห่งว่า โมเดลรองพื้น. โมเดลพื้นฐานได้รับการฝึกอบรมล่วงหน้าเกี่ยวกับชุดข้อมูลทั่วไปขนาดใหญ่และกว้าง และมีจุดมุ่งหมายเพื่อใช้เป็นพื้นฐานสำหรับการปรับปรุงประสิทธิภาพเพิ่มเติมในกรณีการใช้งานที่หลากหลาย ตั้งแต่การสร้างงานศิลปะดิจิทัลไปจนถึงการจัดหมวดหมู่ข้อความหลายภาษา โมเดลพื้นฐานเหล่านี้ได้รับความนิยมจากลูกค้า เนื่องจากการฝึกโมเดลใหม่ตั้งแต่เริ่มต้นต้องใช้เวลาและอาจมีราคาแพง SageMaker JumpStart ให้การเข้าถึงโมเดลพื้นฐานหลายร้อยโมเดลที่ดูแลโดยโอเพ่นซอร์สบุคคลที่สามและผู้ให้บริการที่เป็นกรรมสิทธิ์

ภาพรวมโซลูชัน

โพสต์นี้จะอธิบายขั้นตอนการทำงานที่ใช้โค้ดน้อยสำหรับการปรับใช้ LLM ที่ได้รับการฝึกอบรมล่วงหน้าและแบบกำหนดเองผ่าน SageMaker และสร้าง UI บนเว็บเพื่อเชื่อมต่อกับโมเดลที่ใช้งาน เราครอบคลุมขั้นตอนต่อไปนี้:

  1. ปรับใช้โมเดลพื้นฐาน SageMaker
  2. ปรับใช้ AWS แลมบ์ดา และ AWS Identity และการจัดการการเข้าถึง (IAM) สิทธิ์ที่ใช้ การก่อตัวของ AWS Cloud.
  3. ตั้งค่าและเรียกใช้อินเทอร์เฟซผู้ใช้
  4. คุณสามารถเลือกเพิ่มโมเดลพื้นฐาน SageMaker อื่นๆ ได้ ขั้นตอนนี้จะขยายความสามารถของ Chat Studio ในการโต้ตอบกับโมเดลพื้นฐานเพิ่มเติม
  5. หรือปรับใช้แอปพลิเคชันโดยใช้ AWS ขยาย. ขั้นตอนนี้จะปรับใช้ Chat Studio กับเว็บ

โปรดดูแผนภาพต่อไปนี้สำหรับภาพรวมของสถาปัตยกรรมโซลูชัน

สถาปัตยกรรมโซลูชัน Chat Studio

เบื้องต้น

ในการดำเนินการแก้ไขปัญหา คุณต้องมีข้อกำหนดเบื้องต้นต่อไปนี้:

  • An บัญชี AWS ด้วยสิทธิ์ผู้ใช้ IAM ที่เพียงพอ
  • npm ติดตั้งในสภาพแวดล้อมท้องถิ่นของคุณ สำหรับคำแนะนำในการติดตั้ง npm, เอ่ยถึง การดาวน์โหลดและติดตั้ง Node.js และ npm.
  • โควต้าบริการ 1 สำหรับตำแหน่งข้อมูล SageMaker ที่เกี่ยวข้อง สำหรับ Llama 2 13b Chat เราใช้อินสแตนซ์ ml.g5.48xlarge และสำหรับ Stable Diffusion 2.1 เราใช้อินสแตนซ์ ml.p3.2xlarge

หากต้องการขอเพิ่มโควต้าบริการได้ที่ คอนโซลโควต้าบริการ AWS, นำทางไปยัง บริการของ AWS, SageMakerและคำขอโควต้าบริการจะเพิ่มเป็น 1 สำหรับ ml.g5.48xlarge สำหรับการใช้งานตำแหน่งข้อมูล และ ml.p3.2xlarge สำหรับการใช้งานตำแหน่งข้อมูล

คำขอโควต้าบริการอาจใช้เวลาสองสามชั่วโมงในการอนุมัติ ขึ้นอยู่กับความพร้อมใช้งานของประเภทอินสแตนซ์

ปรับใช้โมเดลพื้นฐาน SageMaker

SageMaker เป็นบริการ Machine Learning (ML) ที่มีการจัดการเต็มรูปแบบสำหรับนักพัฒนาเพื่อสร้างและฝึกฝนโมเดล ML ได้อย่างรวดเร็วอย่างง่ายดาย ทำตามขั้นตอนต่อไปนี้เพื่อปรับใช้โมเดลพื้นฐาน Llama 2 13b Chat และ Stable Diffusion 2.1 โดยใช้ สตูดิโอ Amazon SageMaker:

  1. สร้างโดเมน SageMaker สำหรับคำแนะนำ โปรดดูที่ เริ่มต้นใช้งานโดเมน Amazon SageMaker โดยใช้การตั้งค่าด่วน.

โดเมนจะตั้งค่าพื้นที่เก็บข้อมูลทั้งหมดและอนุญาตให้คุณเพิ่มผู้ใช้เพื่อเข้าถึง SageMaker

  1. บนคอนโซล SageMaker ให้เลือก สตูดิโอ ในบานหน้าต่างนำทาง จากนั้นเลือก เปิด Studio.
  2. เมื่อเปิดตัว Studio ภายใต้ SageMaker JumpStart ในบานหน้าต่างนำทาง ให้เลือก โมเดล โน๊ตบุ๊ค โซลูชั่น.
    คอนโซล SageMaker JumpStart
  3. ในแถบค้นหา ให้ค้นหา Llama 2 13b Chat
  4. ภายใต้ การกำหนดค่าการปรับใช้สำหรับ อินสแตนซ์การโฮสต์ SageMakerเลือก มล.g5.48xlarge และสำหรับ ชื่อปลายทางป้อน meta-textgeneration-llama-2-13b-f.
  5. Choose ปรับใช้

การกำหนดค่าการปรับใช้ SageMaker JumpStart

หลังจากการปรับใช้สำเร็จ คุณควรจะเห็น In Service สถานะ

สถานะโมเดลลามะ

  1. เกี่ยวกับ โมเดล โน๊ตบุ๊ค โซลูชั่น หน้า ค้นหา Stable Diffusion 2.1
  2. ภายใต้ การกำหนดค่าการปรับใช้สำหรับ อินสแตนซ์การโฮสต์ SageMakerเลือก ml.p3.2xlarge และสำหรับ ชื่อปลายทางป้อน jumpstart-dft-stable-diffusion-v2-1-base.
  3. Choose ปรับใช้.

การกำหนดค่าการปรับใช้ SageMaker JumpStart

หลังจากการปรับใช้สำเร็จ คุณควรจะเห็น In Service สถานะ

สถานะแบบจำลองการแพร่กระจายที่เสถียร

ปรับใช้สิทธิ์ Lambda และ IAM โดยใช้ AWS CloudFormation

ส่วนนี้อธิบายวิธีที่คุณสามารถเปิดใช้สแตก CloudFormation ที่ปรับใช้ฟังก์ชัน Lambda ที่ประมวลผลคำขอผู้ใช้ของคุณและเรียกตำแหน่งข้อมูล SageMaker ที่คุณปรับใช้ และปรับใช้สิทธิ์ IAM ที่จำเป็นทั้งหมด ทำตามขั้นตอนต่อไปนี้:

  1. ไปที่ พื้นที่เก็บข้อมูล GitHub และดาวน์โหลดเทมเพลต CloudFormation (lambda.cfn.yaml) ไปยังเครื่องท้องถิ่นของคุณ
  2. บนคอนโซล CloudFormation ให้เลือก สร้าง stack เมนูแบบเลื่อนลงแล้วเลือก ด้วยทรัพยากรใหม่ (มาตรฐาน).
  3. เกี่ยวกับ ระบุแม่แบบ ใหเลือก อัปโหลดไฟล์เทมเพลต และ เลือกไฟล์.
  4. เลือก lambda.cfn.yaml ไฟล์ที่คุณดาวน์โหลดมา จากนั้นเลือก ถัดไป.
  5. เกี่ยวกับ ระบุรายละเอียดกอง ป้อนชื่อสแต็กและคีย์ API ที่คุณได้รับในข้อกำหนดเบื้องต้น จากนั้นเลือก ถัดไป.
  6. เกี่ยวกับ กำหนดค่าตัวเลือกสแต็ก หน้าให้เลือก ถัดไป.
  7. ตรวจสอบและรับทราบการเปลี่ยนแปลงและเลือก ส่ง.

ตั้งค่า UI ของเว็บ

ส่วนนี้จะอธิบายขั้นตอนในการเรียกใช้ UI ของเว็บ (สร้างขึ้นโดยใช้ ระบบออกแบบ Cloudscape) บนเครื่องท้องถิ่นของคุณ:

  1. บนคอนโซล IAM ให้นำทางไปยังผู้ใช้ functionUrl.
  2. เกี่ยวกับ ข้อมูลรับรองความปลอดภัย เลือกแท็บ สร้างคีย์การเข้าถึง.
  3. เกี่ยวกับ เข้าถึงแนวทางปฏิบัติที่ดีที่สุดและทางเลือกที่สำคัญ ใหเลือก อินเตอร์เฟสบรรทัดคำสั่ง (CLI) และเลือก ถัดไป.
  4. เกี่ยวกับ ตั้งแท็กคำอธิบาย หน้าให้เลือก สร้างคีย์การเข้าถึง.
  5. คัดลอกคีย์การเข้าถึงและคีย์การเข้าถึงที่เป็นความลับ
  6. Choose เสร็จสิ้น.
  7. ไปที่ พื้นที่เก็บข้อมูล GitHub และดาวน์โหลด react-llm-chat-studio รหัส.
  8. เปิดโฟลเดอร์ใน IDE ที่คุณต้องการและเปิดเทอร์มินัล
  9. นำทางไปยัง src/configs/aws.json และป้อนรหัสการเข้าถึงและรหัสการเข้าถึงลับที่คุณได้รับ
  10. ป้อนคำสั่งต่อไปนี้ในเทอร์มินัล:
    npm install npm start

  11. จุดเปิด http://localhost:3000 ในเบราว์เซอร์ของคุณและเริ่มโต้ตอบกับโมเดลของคุณ!

หากต้องการใช้ Chat Studio ให้เลือกโมเดลพื้นฐานในเมนูแบบเลื่อนลงแล้วป้อนคำถามของคุณในกล่องข้อความ หากต้องการรับรูปภาพที่สร้างโดย AI พร้อมกับการตอบกลับ ให้เพิ่มวลี “พร้อมรูปภาพ” ต่อท้ายข้อความค้นหาของคุณ

เพิ่มโมเดลพื้นฐาน SageMaker อื่นๆ

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

ส่วนนี้จะอธิบายขั้นตอนทั่วไปและการเปลี่ยนแปลงโค้ดที่จำเป็นสำหรับการนำโมเดลเพิ่มเติมที่คุณเลือกไปใช้ โปรดทราบว่าจำเป็นต้องมีความรู้พื้นฐานเกี่ยวกับภาษา Python สำหรับขั้นตอนที่ 6–8

  1. ใน SageMaker Studio ให้ปรับใช้โมเดลพื้นฐาน SageMaker ที่คุณเลือก
  2. Choose SageMaker JumpStart และ เปิดตัวสินทรัพย์ JumpStart.
  3. เลือกตำแหน่งข้อมูลโมเดลที่เพิ่งปรับใช้แล้วเลือก เปิดสมุดบันทึก.
  4. บนคอนโซลโน้ตบุ๊ก ให้ค้นหาพารามิเตอร์เพย์โหลด

ช่องเหล่านี้เป็นช่องที่โมเดลใหม่คาดหวังเมื่อเรียกใช้ตำแหน่งข้อมูล SageMaker ภาพหน้าจอต่อไปนี้แสดงตัวอย่าง

การกำหนดค่าจุดสิ้นสุดของ SageMaker

  1. บนคอนโซล Lambda ให้นำทางไปที่ callSageMakerEndpoints.
  2. เพิ่มตัวจัดการอินพุตที่กำหนดเองสำหรับโมเดลใหม่ของคุณ

ในภาพหน้าจอต่อไปนี้ เราได้แปลงอินพุตสำหรับ Falcon 40B Instruct BF16 และ GPT NeoXT Chat Base 20B FP16 คุณสามารถแทรกตรรกะพารามิเตอร์ที่กำหนดเองตามที่ระบุไว้เพื่อเพิ่มตรรกะการแปลงอินพุตโดยอ้างอิงกับพารามิเตอร์เพย์โหลดที่คุณคัดลอก

ข้อมูลโค้ดแลมบ์ดา

  1. กลับไปที่คอนโซลโน้ตบุ๊กแล้วค้นหา query_endpoint.

ฟังก์ชันนี้ช่วยให้คุณทราบวิธีแปลงเอาต์พุตของโมเดลเพื่อแยกการตอบกลับข้อความสุดท้าย

การกำหนดค่าจุดสิ้นสุดของ SageMaker

  1. โดยมีการอ้างอิงถึงรหัสใน query_endpointให้เพิ่มตัวจัดการเอาต์พุตแบบกำหนดเองสำหรับโมเดลใหม่ของคุณ
    รหัสแลมบ์ดา
  2. Choose ปรับใช้
  3. เปิด IDE ของคุณ เปิดไฟล์ react-llm-chat-studio รหัสและนำทางไปที่ src/configs/models.json.
  4. เพิ่มชื่อโมเดลและจุดสิ้นสุดของโมเดล แล้วป้อนพารามิเตอร์เพย์โหลดจากขั้นตอนที่ 4 ด้านล่าง payload โดยใช้รูปแบบต่อไปนี้:
    "add_model_name": { "endpoint_name": "add_model_enpoint", "payload": { "add_payload_paramters_here"
    }
    },

  5. รีเฟรชเบราว์เซอร์ของคุณเพื่อเริ่มโต้ตอบกับโมเดลใหม่ของคุณ!

ปรับใช้แอปพลิเคชันโดยใช้ Amplify

Amplify เป็นโซลูชันครบวงจรที่ช่วยให้คุณสามารถปรับใช้แอปพลิเคชันของคุณได้อย่างรวดเร็วและมีประสิทธิภาพ ส่วนนี้อธิบายขั้นตอนในการปรับใช้ Chat Studio กับ Amazon CloudFront การกระจายโดยใช้ Amplify หากคุณต้องการแชร์แอปพลิเคชันของคุณกับผู้ใช้รายอื่น

  1. ไปที่ react-llm-chat-studio โฟลเดอร์รหัสที่คุณสร้างไว้ก่อนหน้านี้
  2. ป้อนคำสั่งต่อไปนี้ในเทอร์มินัลแล้วปฏิบัติตามคำแนะนำในการตั้งค่า:
    npm install -g @aws-amplify/cli amplify configure

  3. เตรียมใช้งานโปรเจ็กต์ Amplify ใหม่โดยใช้คำสั่งต่อไปนี้ ระบุชื่อโปรเจ็กต์ ยอมรับการกำหนดค่าเริ่มต้น และเลือก คีย์การเข้าถึง AWS เมื่อได้รับแจ้งให้เลือกวิธีการรับรองความถูกต้อง
    amplify init

  4. โฮสต์โปรเจ็กต์ Amplify โดยใช้คำสั่งต่อไปนี้ เลือก Amazon CloudFront และ S3 เมื่อได้รับแจ้งให้เลือกโหมดปลั๊กอิน
    amplify hosting add

  5. สุดท้าย สร้างและปรับใช้โปรเจ็กต์ด้วยคำสั่งต่อไปนี้:
    amplify publish

  6. หลังจากการปรับใช้สำเร็จ ให้เปิด URL ที่ให้ไว้ในเบราว์เซอร์ของคุณ และเริ่มโต้ตอบกับโมเดลของคุณ!

ทำความสะอาด

เพื่อหลีกเลี่ยงค่าใช้จ่ายในอนาคต ให้ทำตามขั้นตอนต่อไปนี้:

  1. ลบสแต็ก CloudFormation สำหรับคำแนะนำ โปรดดูที่ การลบสแต็กบนคอนโซล AWS CloudFormation.
  2. ลบตำแหน่งข้อมูล SageMaker JumpStart สำหรับคำแนะนำ โปรดดูที่ ลบปลายทางและทรัพยากร.
  3. ลบโดเมน SageMaker สำหรับคำแนะนำ โปรดดูที่ ลบโดเมน Amazon SageMaker.

สรุป

ในโพสต์นี้ เราได้อธิบายวิธีสร้าง UI ของเว็บสำหรับการเชื่อมต่อกับ LLM ที่ใช้งานบน AWS

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

คุณสามารถขยายโซลูชันนี้ได้หลายวิธี เช่น การบูรณาการโมเดลพื้นฐานเพิ่มเติม ผสานรวมกับ Amazon Kendra เพื่อเปิดใช้งานการค้นหาอัจฉริยะที่ขับเคลื่อนด้วย ML เพื่อทำความเข้าใจเนื้อหาระดับองค์กร และอื่นๆ อีกมากมาย!

เราขอเชิญคุณมาทดลองกับ LLM ที่ได้รับการฝึกอบรมล่วงหน้าต่างๆ พร้อมใช้งานบน AWSหรือต่อยอดหรือสร้าง LLM ของคุณเองใน SageMaker แจ้งให้เราทราบคำถามและสิ่งที่คุณค้นพบในความคิดเห็น และสนุก!


เกี่ยวกับผู้แต่ง

สร้าง UI ของเว็บเพื่อโต้ตอบกับ LLM โดยใช้ Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.จาร์เรตต์ โหยวซาน เว่ย เป็น Associate Cloud Architect ใน AWS Professional Services ซึ่งครอบคลุมภาครัฐทั่วอาเซียน และเป็นผู้สนับสนุนในการช่วยให้ลูกค้าปรับให้ทันสมัยและย้ายเข้าสู่ระบบคลาวด์ เขาได้รับใบรับรอง AWS ห้าใบ และยังตีพิมพ์ผลงานวิจัยเกี่ยวกับชุดเครื่องเร่งการไล่ระดับสีในการประชุมนานาชาติครั้งที่ 8 เรื่อง AI ในเวลาว่าง Jarrett มุ่งเน้นและมีส่วนร่วมในฉาก AI เชิงสร้างสรรค์ที่ AWS

สร้าง UI ของเว็บเพื่อโต้ตอบกับ LLM โดยใช้ Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.แทมมี่ ลิม ลี ซิน เป็น Associate Cloud Architect ที่ AWS เธอใช้เทคโนโลยีเพื่อช่วยให้ลูกค้าส่งมอบผลลัพธ์ที่ต้องการในเส้นทางการนำระบบคลาวด์มาใช้ และมีความหลงใหลเกี่ยวกับ AI/ML นอกเหนือจากงาน เธอชอบท่องเที่ยว เดินป่า และใช้เวลาร่วมกับครอบครัวและเพื่อนๆ

ประทับเวลา:

เพิ่มเติมจาก AWS Machine Learning AWS