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:

Diagram yang menunjukkan alur kerja umum untuk model jarak jauh yang menggunakan model Vertex AI atau layanan Cloud AI.

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:

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 dengan CONCAT("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:

Token limit (batas token)

Batas token adalah sebagai berikut:

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-region EU dan US.
  • ML.UNDERSTAND_TEXT: tersedia di multi-region EU dan US.