Blog AWS Indonesia

Amazon Titan Text Embeddings V2 sekarang tersedia di Amazon Bedrock, dioptimalkan untuk meningkatkan RAG

Keluarga model Amazon Titan, yang tersedia eksklusif di Amazon Bedrock, dibangun di atas 25 tahun keahlian Amazon dalam artificial intelligence (AI) dan kemajuan machine learning (ML). Amazon Titan foundation model (FM) menawarkan rangkaian komprehensif model pre-trained image, multimodal, dan teks yang dapat diakses melalui API managed service. Dilatih pada dataset yang ekstensif, model Amazon Titan sangat powerful dan serbaguna, dirancang untuk berbagai aplikasi dan mematuhi praktik AI yang bertanggung jawab.

Tambahan terbaru di keluarga Amazon Titan adalah Amazon Titan Text Embeddings V2, model text embeddings generasi kedua dari Amazon yang sekarang tersedia dalam Amazon Bedrock. Model text embeddings baru ini dioptimalkan untuk Retrieval-Augmented Generation (RAG). Model ini sebelumnya dilatih pada lebih dari 100 bahasa dan juga kode.

Amazon Titan Text Embeddings V2 sekarang memungkinkan Anda memilih ukuran vektor output (256, 512, atau 1024). Ukuran vektor yang lebih besar menciptakan respons yang lebih detail, tetapi juga akan meningkatkan waktu komputasi. Panjang vektor yang lebih pendek memang kurang detail tetapi akan meningkatkan waktu respons. Menggunakan vektor yang lebih kecil membantu mengurangi biaya penyimpanan dan latensi pencarian dan pengambilan ekstrak dokumen dari database vektor. Kami mengukur akurasi vektor yang dihasilkan oleh Amazon Titan Text Embeddings V2 dan kami mengamati bahwa vektor dengan 512 dimensi mempertahankan sekitar 99 persen akurasi yang diberikan oleh vektor dengan 1024 dimensi. Vektor dengan 256 dimensi mempertahankan 97 persen akurasi. Ini berarti Anda dapat menghemat 75 persen dalam penyimpanan vektor (dari 1024 turun menjadi 256 dimensi) dan mempertahankan sekitar 97 persen akurasi yang diberikan oleh vektor yang lebih besar.

Amazon Titan Text Embeddings V2 juga mengusulkan normalisasi vektor satuan yang ditingkatkan yang membantu meningkatkan akurasi saat mengukur kemiripan vektor. Anda dapat memilih antara versi embeddings dinormalisasi atau tanpa normalisasi berdasarkan kasus penggunaan Anda (dinormalisasi lebih akurat untuk kasus penggunaan RAG). Normalisasi vektor adalah proses penskalaan vektor tersebut agar memiliki panjang atau besaran satuan 1. Ini berguna untuk memastikan semua vektor memiliki skala yang sama dan berkontribusi secara rata saat operasi vektor, mencegah beberapa vektor saling mendominasi.

Model text embeddings baru ini cocok untuk berbagai kasus penggunaan. Model ini dapat membantu Anda melakukan pencarian semantik pada dokumen, misalnya untuk mendeteksi plagiarisme. Model ini dapat mengklasifikasikan label ke dalam representasi yang dipelajari berbasis data, misalnya untuk mengkategorikan film ke dalam genre. Model ini juga dapat meningkatkan kualitas dan relevansi hasil pencarian yang diambil atau dihasilkan, misalnya merekomendasikan konten berdasarkan minat menggunakan RAG.

Bagaimana embeddings membantu meningkatkan akurasi RAG

Bayangkan Anda adalah asisten peneliti yang punya kekuatan super untuk large language model (LLM) besar. LLM itu seperti orang-orang brilian yang dapat menulis berbagai format teks kreatif, tetapi pengetahuan mereka berasal dari dataset besar yang mereka latih. Data pelatihan ini mungkin sedikit usang atau kurang detail spesifik untuk kebutuhan Anda.

Di sinilah RAG masuk. RAG bertindak seperti asisten Anda, mengambil informasi relevan dari custom source, seperti knowledge base perusahaan. Ketika LLM perlu menjawab pertanyaan, RAG menyediakan informasi terbaru untuk membantu menghasilkan respons terbaik.

Untuk menemukan informasi terbaru, RAG menggunakan embeddings. Bayangkan embeddings (atau vektor) ini sebagai ringkasan super-padat yang menangkap ide utama dari sebuah teks. Model embeddings berkualitas tinggi seperti Amazon Titan Text Embeddings V2 dapat membuat ringkasan ini dengan akurat, seperti asisten hebat yang dapat dengan cepat memahami poin-poin penting dari setiap dokumen. Ini memastikan RAG mengambil informasi paling relevan untuk LLM, sehingga menghasilkan jawaban yang lebih akurat dan on point.

Bayangkan seperti mencari di perpustakaan. Setiap halaman buku diindeks dan diwakili oleh vektor. Dengan sistem pencarian buruk, Anda mungkin berakhir dengan tumpukan buku yang tidak tepat dengan yang Anda butuhkan. Tetapi dengan sistem pencarian bagus yang memahami konten (seperti model embeddings berkualitas tinggi), Anda akan mendapatkan apa yang Anda cari, menjadikan tugas LLM untuk menghasilkan jawaban jauh lebih mudah.

Overview Amazon Titan Text Embeddings V2

Amazon Titan Text Embeddings V2 dioptimalkan untuk akurasi tinggi dan kinerja pengambilan yang lebih baik pada dimensi lebih kecil untuk mengurangi penyimpanan dan latensi. Kami mengukur bahwa vektor dengan 512 dimensi mempertahankan sekitar 99 persen akurasi yang diberikan oleh vektor dengan 1024 dimensi. Vektor dengan 256 dimensi menawarkan 97 persen akurasi.

Max tokens 8,192
Languages 100+ in pre-training
Fine-tuning supported No
Normalization supported Yes
Vector size 256, 512, 1,024 (default)

Cara Menggunakan Amazon Titan Text Embeddings V2

Kemungkinan besar Anda akan berinteraksi dengan Amazon Titan Text Embeddings V2 secara tidak langsung melalui Knowledge Base untuk Amazon Bedrock. Knowledge Base menangani pekerjaan berat untuk membuat aplikasi berbasis RAG. Namun, Anda juga dapat menggunakan Amazon Bedrock Runtime API untuk memanggil model secara langsung dari kode Anda. Berikut adalah contoh sederhana dalam bahasa pemrograman Swift (hanya untuk menunjukkan bahwa Anda dapat menggunakan bahasa pemrograman apa pun, tidak hanya Python):

import Foundation
import AWSBedrockRuntime 

let text = "This is the text to transform in a vector"

// create an API client
let client = try BedrockRuntimeClient(region: "us-east-1")

// create the request 
let request = InvokeModelInput(
   accept: "application/json",
   body: """
   {
      "inputText": "\(text)",
      "dimensions": 256,
      "normalize": true
   }
   """.data(using: .utf8), 
   contentType: "application/json",
   modelId: "amazon.titan-embed-text-v2:0")

// send the request 
let response = try await client.invokeModel(input: request)

// decode the response
let response = String(data: (response.body!), encoding: .utf8)

print(response ?? "")

Model ini mengambil tiga parameter dalam payloadnya:

  • inputText – Teks untuk dikonversi menjadi embedding.
  • normalizeFlag yang menunjukkan apakah output embedding akan dinormalisasi atau tidak. Defaultnya adalah true, yang optimal untuk kasus penggunaan RAG.
  • dimensions – Jumlah dimensi yang harus dimiliki output embedding. Tiga nilai yang diterima: 256, 512, dan 1024 (nilai default).

Saya menambahkan dependensi pada AWS SDK for Swift di Package.swift saya. Saya mengetik swift run untuk melakukan build dan menjalankan kode ini. Kode tersebut mencetak output berikut ini (disingkat agar ringkas):

{"embedding":[-0.26757812,0.15332031,-0.015991211...-0.8203125,0.94921875],
"inputTextTokenCount":9}

Seperti biasa, jangan lupa untuk mengaktifkan akses ke model baru di konsol Amazon Bedrock sebelum menggunakan API.

Amazon Titan Text Embeddings V2 akan segera menjadi default LLM yang diusulkan oleh Knowledge Bases untuk Amazon Bedrock. Knowledge base Anda yang dibuat sebelumnya dengan model Amazon Titan Text Embeddings original akan tetap bekerja tanpa perubahan.

Model baru Amazon Titan Text Embeddings V2 kini tersedia di Amazon Bedrock di Wilayah AWS US East (N. Virginia) dan US West (Oregon). Cek daftar full Region untuk update selanjutnya.

Untuk mempelajari lebih lanjut, cek halaman produk Amazon Titan di Amazon Bedrock dan halaman harga. Jangan lewatkan juga posting blog ini untuk belajar cara menggunakan model Embeddings Teks Amazon Titan. Anda juga dapat mengunjungi community.aws untuk menemukan konten teknis mendalam dan mengetahui bagaimana komunitas Builder kami menggunakan Amazon Bedrock dalam solusi mereka.

Coba Amazon Titan Text Embeddings V2 di konsol Amazon Bedrock hari ini, dan kirimkan feedback ke AWS re:Post untuk Amazon Bedrock atau melalui kontak AWS Support Anda.


Artikel ini diterjemahkan dari artikel asli dengan judul “Amazon Titan Text Embeddings V2 now available in Amazon Bedrock, optimized for improving RAG yang ditulis oleh Sébastien Stormacq, AWS.

Anda mungkin tertarik dengan artikel terkait dengan generative AI berikut:

Gregory

Gregory

Gregory Sukanto is Developer Specialist Solutions Architect at Amazon Web Service (AWS). He had 7+ years experience as backend engineer, devops, web developer, and full-stack developer. Prior to AWS, he worked in various industry including telco, banking, financial technology, and startup as developer.