Memilih fungsi natural language processing
Dokumen ini memberikan perbandingan fungsi natural language processing yang tersedia di BigQuery ML, yaitu ML.GENERATE_TEXT
, ML.TRANSLATE
, dan ML.UNDERSTAND_TEXT
.
ML.GENERATE_TEXT
dapat melakukan tugas yang juga dapat dilakukan oleh dua fungsi lainnya, seperti
yang ditunjukkan pada gambar berikut:
Anda dapat menggunakan informasi dalam dokumen ini untuk membantu menentukan fungsi mana yang akan digunakan jika fungsi tersebut memiliki kemampuan yang tumpang-tindih.
Secara umum, perbedaan antara fungsi-fungsi ini adalah sebagai berikut:
ML.GENERATE_TEXT
adalah pilihan yang bagus untuk melakukan tugas natural language processing (NLP) yang disesuaikan dengan biaya lebih rendah. Fungsi ini menawarkan lebih banyak dukungan bahasa, throughput yang lebih cepat, dan kemampuan penyesuaian model, serta berfungsi dengan model multimodal.ML.TRANSLATE
adalah pilihan yang baik untuk melakukan tugas NLP khusus terjemahan saat Anda perlu mendukung rasio kueri per menit yang tinggi.ML.UNDERSTAND_TEXT
adalah pilihan yang baik untuk melakukan tugas NLP yang didukung oleh Cloud Natural Language API.
Model yang didukung
Model yang didukung adalah sebagai berikut:
ML.GENERATE_TEXT
: Anda dapat menggunakan subset model Gemini atau PaLM Vertex AI untuk membuat teks. Untuk mengetahui informasi selengkapnya tentang model yang didukung, lihat sintaksisML.GENERATE_TEXT
.ML.TRANSLATE
: Anda menggunakan model default Cloud Translation API.ML.UNDERSTAND_TEXT
: Anda menggunakan model default Cloud Natural Language API.
Tugas yang didukung
Tugas yang didukung adalah sebagai berikut:
ML.GENERATE_TEXT
: Anda dapat melakukan tugas NLP apa pun. Tugas yang dilakukan model berdasarkan perintah yang Anda tetapkan. Misalnya, untuk melakukan tugas menjawab pertanyaan, Anda dapat memberikan perintah yang mirip denganCONCAT("What are the key concepts in the following article?: ", article_text)
. Anda juga dapat memberikan konteks sebagai bagian dari perintah. Contohnya,CONCAT("context: Only output 'yes' or 'no' to the following question: ", question)
.ML.TRANSLATE
: Anda dapat melakukan tugas berikut:ML.UNDERSTAND_TEXT
: Anda dapat melakukan tugas berikut:
Konteks data
Saat memilih fungsi yang akan digunakan, pertimbangkan apakah data Anda dapat dianalisis
secara terpisah, atau apakah memerlukan konteks tambahan untuk mendukung analisis.
Jika data Anda memerlukan konteks tambahan, penggunaan ML.GENERATE_TEXT
dengan
model Vertex AI adalah pilihan yang lebih baik, karena model tersebut memungkinkan Anda
memberikan konteks sebagai bagian dari permintaan yang Anda kirimkan. Perlu diingat bahwa memberikan konteks tambahan saat input akan meningkatkan jumlah dan biaya token.
Jika data Anda dapat dianalisis tanpa konteks lain yang dipertimbangkan oleh model—misalnya, menerjemahkan string teks tanpa mengetahui alasan penulisan tersebut, maka menggunakan ML.TRANSLATE
atau ML.UNDERSTAND_TEXT
mungkin merupakan pilihan yang lebih baik, asalkan tugas yang ingin Anda lakukan didukung.
Struktur output
ML.GENERATE_TEXT
secara konsisten menampilkan hasil dalam
kolom output ml_generate_text_llm_result
. Anda juga dapat
menggunakan perintah untuk menentukan struktur output. Misalnya, Anda dapat menginstruksikan model untuk menampilkan hasil sebagai JSON dengan kolom induk dan turunan kustom, serta memberikan contoh cara menghasilkan hasil ini.
ML.TRANSLATE
dan ML.UNDERSTAND_TEXT
menghasilkan output yang sama untuk jenis tugas tertentu untuk setiap panggilan ke API yang berhasil. Selain itu, output dari fungsi ini menyertakan metadata tambahan tentang hasilnya. Misalnya, output ML.TRANSLATE
menyertakan informasi tentang bahasa input, dan output ML.UNDERSTAND_TEXT
menyertakan informasi tentang besaran sentimen untuk tugas analisis sentimen. Metadata ini dapat dibuat
dengan model Vertex AI, tetapi hal ini memerlukan rekayasa perintah
yang signifikan, dan kemungkinan tidak akan memberikan perincian yang sama.
Harga
Harganya sebagai berikut:
ML.GENERATE_TEXT
: $0,00025 per 1.000 karakter untuk model Palm2, dan $0,000375 per 1.000 karakter untuk model Gemini 1.0. Penyesuaian model yang didukung dengan pengawasan dikenai biaya dalam dolar per jam kerja node dengan harga pelatihan kustom Vertex AI. Untuk mengetahui informasi selengkapnya, lihat harga Vertex AI.ML.TRANSLATE
: $0,02 per 1.000 karakter. Untuk mengetahui informasi lebih lanjut, lihat harga Cloud Translation API.ML.UNDERSTAND_TEXT
: mulai dari $0,001 per 1.000 karakter, bergantung pada jenis tugas dan penggunaan Anda. Untuk mengetahui informasi lebih lanjut, lihat harga Cloud Natural Language API.
Pelatihan model
Dukungan pelatihan kustom adalah sebagai berikut:
ML.GENERATE_TEXT
: tuning yang diawasi didukung untuk beberapa model.ML.TRANSLATE
: pelatihan khusus tidak didukung.ML.UNDERSTAND_TEXT
: pelatihan khusus tidak didukung.
Multimodalitas
Dukungan multimodalitas adalah sebagai berikut:
ML.GENERATE_TEXT
: mendukung input teks dan teks + gambar.ML.TRANSLATE
: mendukung input teks.ML.UNDERSTAND_TEXT
: mendukung input teks.
Batas Kueri per menit (QPM)
Batas QPM adalah sebagai berikut:
ML.GENERATE_TEXT
: berkisar dari batas 100 hingga 1.600 QPM di regionus-central1
default, bergantung pada model yang digunakan.ML.TRANSLATE
: Batas 6.000 QPM untuk v3.ML.UNDERSTAND_TEXT
: Batas 600 QPM.
Token limit (batas token)
Batas token adalah sebagai berikut:
ML.GENERATE_TEXT
: berkisar dari batas token 8.192 hingga 24.576, bergantung pada model yang digunakan.ML.TRANSLATE
: Tidak ada batas token. Namun, fungsi ini memiliki batas 30.000 byte.ML.UNDERSTAND_TEXT
: Batas token 100.000.
Bahasa yang didukung
Bahasa yang didukung adalah sebagai berikut:
ML.GENERATE_TEXT
: mendukung AI Generatif untuk bahasa Vertex AI.ML.TRANSLATE
: mendukung bahasa Cloud Translation API.ML.UNDERSTAND_TEXT
: mendukung bahasa Cloud Natural Language API.
Ketersediaan wilayah
Ketersediaan wilayah adalah sebagai berikut:
ML.GENERATE_TEXT
: tersedia di semua region AI Generatif untuk Vertex AI.ML.TRANSLATE
: tersedia di multi-regionEU
danUS
.ML.UNDERSTAND_TEXT
: tersedia di multi-regionEU
danUS
.