Gemma adalah serangkaian model terbuka yang ringan dan canggih, dibangun dari riset dan teknologi yang digunakan untuk membuat model Gemini. Anda dapat menggunakan model Gemma di pipeline inferensi Apache Beam. Istilah bobot terbuka berarti bahwa parameter atau bobot model yang telah dilatih sebelumnya dirilis. Detail seperti set data asli, arsitektur model, dan kode pelatihan tidak disediakan.
Untuk mengetahui daftar model yang tersedia dan detail tentang setiap model, lihat Ringkasan model Gemma.
Untuk mempelajari cara mendownload dan menggunakan model, lihat Mulai menggunakan Gemma dengan KerasNLP.
Untuk mendownload model, lihat Model Gemma.
Kasus penggunaan
Anda dapat menggunakan model Gemma dengan Dataflow untuk analisis sentimen. Dengan Dataflow dan model Gemma, Anda dapat memproses peristiwa, seperti ulasan pelanggan, saat peristiwa tersebut tiba. Jalankan ulasan melalui model untuk menganalisisnya, lalu buat rekomendasi. Dengan menggabungkan Gemma dan Apache Beam, Anda dapat menyelesaikan alur kerja ini dengan lancar.
Dukungan dan batasan
Model terbuka Gemma didukung dengan Apache Beam dan Dataflow dengan persyaratan berikut:
- Tersedia untuk pipeline batch dan streaming yang menggunakan Apache Beam Python SDK versi 2.46.0 dan yang lebih baru.
- Tugas Dataflow harus menggunakan Runner v2.
- Tugas Dataflow harus menggunakan GPU. Untuk mengetahui daftar jenis GPU yang didukung dengan Dataflow, lihat Ketersediaan. Jenis GPU L4 (G2) direkomendasikan.
- Model harus didownload dan disimpan dalam format file
.keras. - Handler model TensorFlow direkomendasikan, tetapi tidak wajib.
Prasyarat
- Akses model Gemma melalui Kaggle.
- Lengkapi formulir izin dan setujui persyaratan dan ketentuan.
- Download model Gemma. Simpan dalam format file
.kerasdi lokasi yang dapat diakses oleh tugas Dataflow Anda, seperti bucket Cloud Storage. Saat Anda menentukan nilai untuk variabel jalur model, gunakan jalur ke lokasi penyimpanan ini. - Untuk menjalankan tugas di Dataflow, buat image container kustom. Langkah ini memungkinkan pipeline dijalankan dengan GPU di layanan Dataflow.
- Untuk melihat alur kerja lengkap yang mencakup pembuatan image Docker, lihat RunInference di streaming Dataflow dengan Gemma di GitHub.
- Untuk mengetahui informasi selengkapnya tentang cara mem-build image Docker, lihat Membangun image container kustom di "Menjalankan pipeline dengan GPU".
- Untuk mengirim container ke Artifact Registry menggunakan Docker, lihat bagian Membangun dan mengirim image di "Membangun image container kustom untuk Dataflow".
Menggunakan Gemma di pipeline Anda
Untuk menggunakan model Gemma di pipeline Apache Beam Anda, ikuti langkah-langkah berikut.
Dalam kode Apache Beam, setelah mengimpor dependensi pipeline, sertakan jalur ke model tersimpan Anda:
model_path = "MODEL_PATH"Ganti
MODEL_PATHdengan jalur tempat Anda menyimpan model yang didownload. Misalnya, jika Anda menyimpan model ke bucket Cloud Storage, jalur tersebut memiliki formatgs://STORAGE_PATH/FILENAME.keras.Implementasi Keras dari model Gemma memiliki metode
generate()yang menghasilkan teks berdasarkan perintah. Untuk meneruskan elemen ke metodegenerate(), gunakan fungsi inferensi kustom.def gemma_inference_function(model, batch, inference_args, model_id): vectorized_batch = np.stack(batch, axis=0) # The only inference_arg expected here is a max_length parameter to # determine how many words are included in the output. predictions = model.generate(vectorized_batch, **inference_args) return utils._convert_to_result(batch, predictions, model_id)Jalankan pipeline Anda, dengan menentukan jalur ke model terlatih. Contoh ini menggunakan handler model TensorFlow.
class FormatOutput(beam.DoFn): def process(self, element, *args, **kwargs): yield "Input: {input}, Output: {output}".format(input=element.example, output=element.inference) # Instantiate a NumPy array of string prompts for the model. examples = np.array(["Tell me the sentiment of the phrase 'I like pizza': "]) # Specify the model handler, providing a path and the custom inference function. model_handler = TFModelHandlerNumpy(model_path, inference_fn=gemma_inference_function) with beam.Pipeline() as p: _ = (p | beam.Create(examples) # Create a PCollection of the prompts. | RunInference(model_handler, inference_args={'max_length': 32}) # Send the prompts to the model and get responses. | beam.ParDo(FormatOutput()) # Format the output. | beam.Map(print) # Print the formatted output. )
Langkah berikutnya
- Buat pipeline streaming Dataflow yang menggunakan RunInference dan Gemma.
- Menjalankan inferensi dengan model terbuka Gemma di Google Colab (memerlukan Colab Enterprise).
- Menjalankan pipeline dengan GPU.
- Sesuaikan model Anda.