Buat UI web untuk berinteraksi dengan LLM menggunakan Amazon SageMaker JumpStart | Layanan Web Amazon

Buat UI web untuk berinteraksi dengan LLM menggunakan Amazon SageMaker JumpStart | Layanan Web Amazon

Peluncuran ChatGPT dan meningkatnya popularitas AI generatif telah menangkap imajinasi pelanggan yang penasaran tentang bagaimana mereka dapat menggunakan teknologi ini untuk menciptakan produk dan layanan baru di AWS, seperti chatbot perusahaan, yang lebih bersifat percakapan. Posting ini menunjukkan kepada Anda bagaimana Anda dapat membuat UI web, yang kami sebut Chat Studio, untuk memulai percakapan dan berinteraksi dengan model dasar yang tersedia di Mulai Lompatan Amazon SageMaker seperti Llama 2, Difusi Stabil, dan model lain yang tersedia Amazon SageMaker. Setelah Anda menerapkan solusi ini, pengguna dapat memulai dengan cepat dan merasakan kemampuan beberapa model dasar dalam AI percakapan melalui antarmuka web.

Chat Studio juga dapat secara opsional memanggil titik akhir model Difusi Stabil untuk mengembalikan kolase gambar dan video yang relevan jika pengguna meminta media untuk ditampilkan. Fitur ini dapat membantu meningkatkan pengalaman pengguna dengan penggunaan media sebagai aset yang menyertai respons. Ini hanyalah salah satu contoh bagaimana Anda dapat memperkaya Chat Studio dengan integrasi tambahan untuk mencapai tujuan Anda.

Tangkapan layar berikut menunjukkan contoh tampilan kueri dan respons pengguna.

Antarmuka kueri Chat Studio

Antarmuka respons Chat Studio

Model bahasa besar

Chatbot AI generatif seperti ChatGPT didukung oleh model bahasa besar (LLM), yang didasarkan pada jaringan saraf pembelajaran mendalam yang dapat dilatih pada teks tak berlabel dalam jumlah besar. Penggunaan LLM memungkinkan pengalaman percakapan yang lebih baik yang sangat mirip dengan interaksi dengan manusia nyata, menumbuhkan rasa keterhubungan dan meningkatkan kepuasan pengguna.

Model fondasi SageMaker

Pada tahun 2021, Institut Kecerdasan Buatan yang Berpusat pada Manusia di Stanford menyebut beberapa LLM sebagai model pondasi. Model dasar telah dilatih sebelumnya pada kumpulan data umum yang besar dan luas dan dimaksudkan sebagai landasan untuk pengoptimalan lebih lanjut dalam berbagai kasus penggunaan, mulai dari menghasilkan seni digital hingga klasifikasi teks multibahasa. Model pondasi ini populer di kalangan pelanggan karena melatih model baru dari awal memerlukan waktu dan biaya mahal. SageMaker JumpStart menyediakan akses ke ratusan model fondasi yang dikelola dari penyedia sumber terbuka dan kepemilikan pihak ketiga.

Ikhtisar solusi

Postingan ini membahas alur kerja kode rendah untuk menerapkan LLM terlatih dan kustom melalui SageMaker, dan membuat UI web untuk berinteraksi dengan model yang diterapkan. Kami membahas langkah-langkah berikut:

  1. Menerapkan model fondasi SageMaker.
  2. Menyebarkan AWS Lambda dan Identitas AWS dan Manajemen Akses (IAM) izin menggunakan Formasi AWS Cloud.
  3. Siapkan dan jalankan antarmuka pengguna.
  4. Secara opsional, tambahkan model fondasi SageMaker lainnya. Langkah ini memperluas kemampuan Chat Studio untuk berinteraksi dengan model dasar tambahan.
  5. Secara opsional, terapkan aplikasi menggunakan Amplifikasi AWS. Langkah ini menyebarkan Chat Studio ke web.

Lihat diagram berikut untuk gambaran umum arsitektur solusi.

Arsitektur Solusi Chat Studio

Prasyarat

Untuk menelusuri solusi, Anda harus memiliki prasyarat berikut:

  • An Akun AWS dengan hak istimewa pengguna IAM yang memadai.
  • npm diinstal di lingkungan lokal Anda. Untuk petunjuk cara instalasi npm, mengacu pada Mengunduh dan menginstal Node.js dan npm.
  • Kuota layanan 1 untuk titik akhir SageMaker yang sesuai. Untuk Obrolan Llama 2 13b, kami menggunakan instance ml.g5.48xlarge dan untuk Difusi Stabil 2.1, kami menggunakan instance ml.p3.2xlarge.

Untuk meminta penambahan kuota layanan, pada Konsol AWS Service Quotas, navigasi ke Layanan AWS, SageMaker, dan permintaan peningkatan kuota layanan menjadi nilai 1 untuk ml.g5.48xlarge untuk penggunaan titik akhir dan ml.p3.2xlarge untuk penggunaan titik akhir.

Permintaan kuota layanan mungkin memerlukan waktu beberapa jam untuk disetujui, bergantung pada ketersediaan jenis instans.

Menerapkan model fondasi SageMaker

SageMaker adalah layanan pembelajaran mesin (ML) yang terkelola sepenuhnya bagi pengembang untuk dengan cepat membangun dan melatih model ML dengan mudah. Selesaikan langkah-langkah berikut untuk menerapkan model dasar Obrolan Llama 2 13b dan Difusi Stabil 2.1 menggunakan Studio Amazon SageMaker:

  1. Buat domain SageMaker. Untuk instruksi, lihat Onboarding ke Domain Amazon SageMaker menggunakan Penyiapan cepat.

Sebuah domain menyiapkan semua penyimpanan dan memungkinkan Anda menambahkan pengguna untuk mengakses SageMaker.

  1. Di konsol SageMaker, pilih studio di panel navigasi, lalu pilih Buka Studio.
  2. Setelah meluncurkan Studio, di bawah SageMaker JumpStart di panel navigasi, pilih Model, notebook, solusi.
    Konsol SageMaker JumpStart
  3. Di bilah pencarian, cari Obrolan Llama 2 13b.
  4. Bawah Konfigurasi Penerapan, Untuk Contoh hosting SageMaker, pilih ml.g5.48xbesar dan untuk Nama titik akhir, Masuk meta-textgeneration-llama-2-13b-f.
  5. Pilih Menyebarkan.

Konfigurasi Penerapan SageMaker JumpStart

Setelah penerapan berhasil, Anda akan dapat melihat In Service status.

Status Model Lama

  1. pada Model, notebook, solusi halaman, cari Difusi Stabil 2.1.
  2. Bawah Konfigurasi Penerapan, Untuk Contoh hosting SageMaker, pilih ml.p3.2xbesar dan untuk Nama titik akhir, Masuk jumpstart-dft-stable-diffusion-v2-1-base.
  3. Pilih Menyebarkan.

Konfigurasi Penerapan SageMaker JumpStart

Setelah penerapan berhasil, Anda akan dapat melihat In Service status.

Status Model Difusi Stabil

Terapkan izin Lambda dan IAM menggunakan AWS CloudFormation

Bagian ini menjelaskan bagaimana Anda dapat meluncurkan tumpukan CloudFormation yang menerapkan fungsi Lambda yang memproses permintaan pengguna Anda dan memanggil titik akhir SageMaker yang Anda terapkan, dan menerapkan semua izin IAM yang diperlukan. Selesaikan langkah-langkah berikut:

  1. Arahkan ke folder Repositori GitHub dan unduh templat CloudFormation (lambda.cfn.yaml) ke mesin lokal Anda.
  2. Di konsol CloudFormation, pilih Buat tumpukan menu drop-down dan pilih Dengan sumber daya baru (standar).
  3. pada Tentukan template halaman, pilih Unggah file templat dan Pilih File.
  4. Pilih lambda.cfn.yaml file yang Anda unduh, lalu pilih Selanjutnya.
  5. pada Tentukan detail tumpukan halaman, masukkan nama tumpukan dan kunci API yang Anda peroleh di prasyarat, lalu pilih Selanjutnya.
  6. pada Konfigurasikan opsi tumpukan halaman, pilih Selanjutnya.
  7. Tinjau dan akui perubahannya, lalu pilih Kirim.

Siapkan UI web

Bagian ini menjelaskan langkah-langkah untuk menjalankan UI web (dibuat menggunakan Sistem Desain Cloudscape) di mesin lokal Anda:

  1. Di konsol IAM, navigasikan ke pengguna functionUrl.
  2. pada Kredensial Keamanan tab, pilih Buat kunci akses.
  3. pada Akses praktik & alternatif terbaik utama halaman, pilih Command Line Interface (CLI) Dan pilihlah Selanjutnya.
  4. pada Tetapkan tag deskripsi halaman, pilih Buat kunci akses.
  5. Salin kunci akses dan kunci akses rahasia.
  6. Pilih Done.
  7. Arahkan ke folder Repositori GitHub dan unduh react-llm-chat-studio kode.
  8. Luncurkan folder di IDE pilihan Anda dan buka terminal.
  9. Navigasi ke src/configs/aws.json dan masukkan access key dan secret access key yang Anda peroleh.
  10. Masukkan perintah berikut di terminal:
    npm install npm start

  11. Open http://localhost:3000 di browser Anda dan mulailah berinteraksi dengan model Anda!

Untuk menggunakan Chat Studio, pilih model dasar pada menu drop-down dan masukkan kueri Anda di kotak teks. Untuk mendapatkan gambar yang dihasilkan AI beserta responsnya, tambahkan frasa โ€œdengan gambarโ€ di akhir kueri Anda.

Tambahkan model fondasi SageMaker lainnya

Anda dapat lebih memperluas kemampuan solusi ini dengan menyertakan model fondasi SageMaker tambahan. Karena setiap model mengharapkan format masukan dan keluaran yang berbeda saat memanggil titik akhir SageMaker, Anda perlu menulis beberapa kode transformasi dalam fungsi Lambda callSageMakerEndpoints untuk berinteraksi dengan model.

Bagian ini menjelaskan langkah-langkah umum dan perubahan kode yang diperlukan untuk mengimplementasikan model tambahan pilihan Anda. Perhatikan bahwa pengetahuan dasar bahasa Python diperlukan untuk Langkah 6โ€“8.

  1. Di SageMaker Studio, terapkan model dasar SageMaker pilihan Anda.
  2. Pilih SageMaker JumpStart dan Luncurkan aset JumpStart.
  3. Pilih titik akhir model yang baru Anda terapkan dan pilih Buka Buku Catatan.
  4. Di konsol notebook, temukan parameter payload.

Ini adalah bidang yang diharapkan oleh model baru saat memanggil titik akhir SageMaker. Tangkapan layar berikut menunjukkan sebuah contoh.

Konfigurasi Titik Akhir SageMaker

  1. Di konsol Lambda, navigasikan ke callSageMakerEndpoints.
  2. Tambahkan pengendali masukan khusus untuk model baru Anda.

Pada tangkapan layar berikut, kami mengubah input untuk Falcon 40B Instruct BF16 dan GPT NeoXT Chat Base 20B FP16. Anda dapat memasukkan logika parameter khusus seperti yang ditunjukkan untuk menambahkan logika transformasi input dengan mengacu pada parameter payload yang Anda salin.

Cuplikan Kode Lambda

  1. Kembali ke konsol notebook dan temukan query_endpoint.

Fungsi ini memberi Anda gambaran bagaimana mengubah keluaran model untuk mengekstrak respons teks akhir.

Konfigurasi Titik Akhir SageMaker

  1. Dengan mengacu pada kode di query_endpoint, tambahkan pengendali keluaran khusus untuk model baru Anda.
    Kode Lambda
  2. Pilih Menyebarkan.
  3. Buka IDE Anda, luncurkan react-llm-chat-studio kode, dan navigasikan ke src/configs/models.json.
  4. Tambahkan nama model dan titik akhir model Anda, lalu masukkan parameter payload dari Langkah 4 di bawah payload menggunakan format berikut:
    "add_model_name": { "endpoint_name": "add_model_enpoint", "payload": { "add_payload_paramters_here"
    }
    },

  5. Segarkan browser Anda untuk mulai berinteraksi dengan model baru Anda!

Terapkan aplikasi menggunakan Amplify

Amplify adalah solusi lengkap yang memungkinkan Anda menyebarkan aplikasi Anda dengan cepat dan efisien. Bagian ini menjelaskan langkah-langkah untuk menyebarkan Chat Studio ke Amazon CloudFront distribusi menggunakan Amplify jika Anda ingin berbagi aplikasi Anda dengan pengguna lain.

  1. Arahkan ke folder react-llm-chat-studio folder kode yang Anda buat sebelumnya.
  2. Masukkan perintah berikut di terminal dan ikuti instruksi pengaturan:
    npm install -g @aws-amplify/cli amplify configure

  3. Inisialisasi proyek Amplify baru dengan menggunakan perintah berikut. Berikan nama proyek, terima konfigurasi default, dan pilih Kunci akses AWS ketika diminta untuk memilih metode otentikasi.
    amplify init

  4. Host proyek Amplify dengan menggunakan perintah berikut. Memilih Amazon CloudFront dan S3 ketika diminta untuk memilih mode plugin.
    amplify hosting add

  5. Terakhir, bangun dan terapkan proyek dengan perintah berikut:
    amplify publish

  6. Setelah penerapan berhasil, buka URL yang disediakan di browser Anda dan mulailah berinteraksi dengan model Anda!

Membersihkan

Untuk menghindari timbulnya biaya di masa mendatang, selesaikan langkah-langkah berikut:

  1. Hapus tumpukan CloudFormation. Untuk instruksi, lihat Menghapus tumpukan di konsol AWS CloudFormation.
  2. Hapus titik akhir SageMaker JumpStart. Untuk instruksi, lihat Hapus Titik Akhir dan Sumber Daya.
  3. Hapus domain SageMaker. Untuk instruksi, lihat Hapus Domain Amazon SageMaker.

Kesimpulan

Dalam postingan ini, kami menjelaskan cara membuat UI web untuk berinteraksi dengan LLM yang diterapkan di AWS.

Dengan solusi ini, Anda dapat berinteraksi dengan LLM Anda dan mengadakan percakapan dengan cara yang mudah digunakan untuk menguji atau mengajukan pertanyaan LLM, dan mendapatkan kolase gambar dan video jika diperlukan.

Anda dapat memperluas solusi ini dengan berbagai cara, seperti mengintegrasikan model pondasi tambahan, berintegrasi dengan Amazon Kendra untuk mengaktifkan penelusuran cerdas yang didukung ML untuk memahami konten perusahaan, dan banyak lagi!

Kami mengundang Anda untuk bereksperimen LLM terlatih berbeda yang tersedia di AWS, atau membangun di atas atau bahkan membuat LLM Anda sendiri di SageMaker. Beri tahu kami pertanyaan dan temuan Anda di komentar, dan bersenang-senanglah!


Tentang penulis

Buat UI web untuk berinteraksi dengan LLM menggunakan Amazon SageMaker JumpStart | Kecerdasan Data PlatoBlockchain Layanan Web Amazon. Pencarian Vertikal. Ai.Jarrett Yeo Shan Wei adalah Associate Cloud Architect di Layanan Profesional AWS yang mencakup Sektor Publik di seluruh ASEAN dan merupakan advokat untuk membantu pelanggan melakukan modernisasi dan migrasi ke cloud. Dia telah memperoleh lima sertifikasi AWS, dan juga telah menerbitkan makalah penelitian tentang ansambel mesin peningkat gradien di Konferensi Internasional AI ke-8. Di waktu luangnya, Jarrett berfokus dan berkontribusi pada bidang AI generatif di AWS.

Buat UI web untuk berinteraksi dengan LLM menggunakan Amazon SageMaker JumpStart | Kecerdasan Data PlatoBlockchain Layanan Web Amazon. Pencarian Vertikal. Ai.Tammy Lim Lee Xin adalah Associate Cloud Architect di AWS. Dia menggunakan teknologi untuk membantu pelanggan memberikan hasil yang diinginkan dalam perjalanan adopsi cloud dan sangat tertarik dengan AI/ML. Di luar pekerjaan dia suka bepergian, mendaki gunung, dan menghabiskan waktu bersama keluarga dan teman.

Stempel Waktu:

Lebih dari Pembelajaran Mesin AWS