Có 2 quyết định quan trọng cần đưa ra khi bạn muốn chạy một mô hình Gemma: 1) bạn muốn chạy biến thể Gemma nào và 2) bạn sẽ sử dụng khung thực thi AI nào để chạy mô hình đó? Một vấn đề quan trọng trong việc đưa ra cả hai quyết định này là phần cứng mà bạn và người dùng có thể sử dụng để chạy mô hình.
Thông tin tổng quan này giúp bạn đưa ra những quyết định này và bắt đầu làm việc với các mô hình Gemma. Sau đây là các bước chung để chạy một mô hình Gemma:
Chọn một khuôn khổ
Các mô hình Gemma tương thích với nhiều công cụ trong hệ sinh thái. Việc chọn lựa chọn phù hợp phụ thuộc vào phần cứng bạn có (GPU trên đám mây so với máy tính xách tay cục bộ) và lựa chọn ưu tiên về giao diện (mã Python so với ứng dụng dành cho máy tính).
Hãy sử dụng bảng sau đây để nhanh chóng xác định công cụ phù hợp nhất với nhu cầu của bạn:
| Nếu bạn muốn... | Khung đề xuất | Tốt nhất cho |
|---|---|---|
| Chạy cục bộ bằng giao diện người dùng Chat | – LM Studio – Ollama |
Người mới bắt đầu hoặc người dùng muốn có trải nghiệm "tương tự như Gemini" trên máy tính xách tay. |
| Chạy hiệu quả trên Edge | – Gemma.cpp – LiteRT-LM – llama.cpp – MediaPipe LLM Inference API – MLX |
Suy luận cục bộ hiệu suất cao với mức tiêu thụ tài nguyên tối thiểu. |
| Xây dựng/Huấn luyện bằng Python | – Thư viện Gemma cho JAX – Hugging Face Transformers – Keras – PyTorch – Unsloth |
Nhà nghiên cứu và nhà phát triển xây dựng các ứng dụng tuỳ chỉnh hoặc tinh chỉnh mô hình. |
| Triển khai cho bản phát hành công khai / doanh nghiệp | – Google Cloud Kubernetes Engine (GKE) – Google Cloud Run – Vertex AI – vLLM |
triển khai đám mây được quản lý, có khả năng mở rộng, hỗ trợ MLOps và bảo mật cấp doanh nghiệp. |
Thông tin chi tiết về khung
Sau đây là hướng dẫn chạy các mô hình Gemma được phân loại theo môi trường triển khai của bạn.
1. Suy luận trên máy tính và cục bộ (Hiệu suất cao)
Những công cụ này cho phép bạn chạy Gemma trên phần cứng tiêu dùng (máy tính xách tay, máy tính để bàn) bằng cách sử dụng các định dạng được tối ưu hoá (như GGUF) hoặc các bộ tăng tốc phần cứng cụ thể.
- LM Studio: Một ứng dụng dành cho máy tính cho phép bạn tải xuống và trò chuyện với các mô hình Gemma trong một giao diện thân thiện với người dùng. Bạn không cần phải lập trình.
- llama.cpp: Một cổng C++ nguồn mở phổ biến của Llama (và Gemma) chạy cực kỳ nhanh trên CPU và Apple Silicon.
- LiteRT-LM: Cung cấp giao diện dòng lệnh (CLI) để chạy các mô hình
.litertlmGemma được tối ưu hoá trên máy tính (Windows, Linux, macOS), dựa trên LiteRT (trước đây là TFLite). - MLX: Một khung được thiết kế dành riêng cho hoạt động học máy trên Apple Silicon, phù hợp với người dùng máy Mac muốn có hiệu suất tích hợp.
- Gemma.cpp: Một công cụ suy luận C++ độc lập, gọn nhẹ, đặc biệt của Google.
- Ollama: Một công cụ để chạy các LLM nguồn mở cục bộ, thường được dùng để hỗ trợ các ứng dụng khác.
2. Phát triển Python (Nghiên cứu và tinh chỉnh)
Các khung tiêu chuẩn dành cho nhà phát triển AI xây dựng ứng dụng, quy trình hoặc mô hình huấn luyện.
- Hugging Face Transformers: Tiêu chuẩn ngành để truy cập nhanh vào các mô hình và quy trình.
- Unsloth: Một thư viện được tối ưu hoá để tinh chỉnh LLM. Công cụ này giúp bạn huấn luyện các mô hình Gemma nhanh hơn từ 2 đến 5 lần với bộ nhớ ít hơn đáng kể, nhờ đó, bạn có thể tinh chỉnh trên GPU tiêu dùng (ví dụ: các cấp miễn phí của Google Colab).
- Keras / JAX / PyTorch: Các thư viện cốt lõi để nghiên cứu học sâu và triển khai cấu trúc tuỳ chỉnh.
3. Triển khai trên thiết bị di động và thiết bị biên (trên thiết bị)
Các khung được thiết kế để chạy LLM trực tiếp trên thiết bị của người dùng (Android, iOS, Web) mà không cần kết nối Internet, thường sử dụng NPU (Đơn vị xử lý thần kinh).
- LiteRT-LM: Khung hoàn toàn mã nguồn mở để phát triển LLM trên thiết bị, mang lại hiệu suất tối đa và khả năng kiểm soát chi tiết, đồng thời hỗ trợ trực tiếp việc tăng tốc CPU, GPU và NPU trên Android và iOS.
- MediaPipe LLM Inference API: Cách dễ nhất để tích hợp Gemma vào các ứng dụng đa nền tảng. Nó cung cấp một API cấp cao hoạt động trên Android, iOS và Web.
4. Triển khai đám mây và triển khai sản xuất
Các dịch vụ được quản lý để mở rộng quy mô ứng dụng của bạn cho hàng nghìn người dùng hoặc truy cập vào sức mạnh tính toán khổng lồ.
- Vertex AI: Nền tảng AI được quản lý hoàn toàn của Google Cloud. Phù hợp nhất với các ứng dụng doanh nghiệp yêu cầu SLA và khả năng mở rộng.
- Google Cloud Kubernetes Engine (GKE): Để điều phối các cụm phân phát của riêng bạn.
- vLLM: Một công cụ suy luận và phân phát có thông lượng cao và tiết kiệm bộ nhớ, thường được dùng trong các hoạt động triển khai trên đám mây.
Đảm bảo rằng định dạng mô hình Gemma mà bạn dự định triển khai (chẳng hạn như định dạng tích hợp sẵn Keras, Safetensors hoặc GGUF) được khung bạn chọn hỗ trợ.
Chọn một biến thể của Gemma
Các mô hình Gemma có nhiều phiên bản và kích thước, bao gồm cả mô hình nền tảng hoặc mô hình Gemma cốt lõi, cũng như các phiên bản mô hình chuyên biệt hơn như PaliGemma và DataGemma, cùng nhiều phiên bản do cộng đồng nhà phát triển AI tạo ra trên các trang web như Kaggle và Hugging Face. Nếu bạn không chắc chắn nên bắt đầu với biến thể nào, hãy chọn mô hình lõi Gemma mới nhất được tinh chỉnh theo hướng dẫn (IT) với số lượng tham số thấp nhất. Loại mô hình Gemma này có yêu cầu thấp về điện toán và có thể phản hồi nhiều loại câu lệnh mà không cần phát triển thêm.
Hãy cân nhắc những yếu tố sau khi chọn một biến thể Gemma:
- Gemma core và các họ biến thể khác như PaliGemma, CodeGemma: Đề xuất Gemma (core). Các biến thể của Gemma ngoài phiên bản cốt lõi có cùng cấu trúc với mô hình cốt lõi và được huấn luyện để hoạt động hiệu quả hơn trong các tác vụ cụ thể. Trừ phi ứng dụng hoặc mục tiêu của bạn phù hợp với chuyên môn của một biến thể Gemma cụ thể, nếu không, bạn nên bắt đầu với một mô hình Gemma cốt lõi hoặc cơ sở.
- Được điều chỉnh theo hướng dẫn (IT), được huấn luyện trước (PT), được tinh chỉnh (FT), hỗn hợp (mix): Nên dùng IT.
- Các biến thể Gemma được tinh chỉnh theo chỉ dẫn (IT) là những mô hình được huấn luyện để phản hồi nhiều chỉ dẫn hoặc yêu cầu bằng ngôn ngữ của con người. Các biến thể mô hình này là nơi tốt nhất để bắt đầu vì chúng có thể phản hồi các câu lệnh mà không cần đào tạo thêm mô hình.
- Các biến thể Gemma được huấn luyện trước (PT) là những mô hình đã được huấn luyện để đưa ra suy luận về ngôn ngữ hoặc dữ liệu khác, nhưng chưa được huấn luyện để làm theo chỉ dẫn của con người. Các mô hình này cần được đào tạo hoặc điều chỉnh thêm để có thể thực hiện các tác vụ một cách hiệu quả, đồng thời dành cho những nhà nghiên cứu hoặc nhà phát triển muốn nghiên cứu hoặc phát triển các chức năng của mô hình và cấu trúc của mô hình.
- Các biến thể Gemma được tinh chỉnh (FT) có thể được coi là các biến thể CNTT, nhưng thường được huấn luyện để thực hiện một nhiệm vụ cụ thể hoặc hoạt động hiệu quả trên một điểm chuẩn AI tạo sinh cụ thể. Họ biến thể PaliGemma bao gồm một số biến thể FT.
- Các biến thể hỗn hợp (mix) của Gemma là các phiên bản của mô hình PaliGemma đã được điều chỉnh theo nhiều chỉ dẫn và phù hợp với mục đích sử dụng chung.
- Tham số: Đề xuất số lượng nhỏ nhất có thể. Nhìn chung, mô hình càng có nhiều tham số thì càng có nhiều khả năng. Tuy nhiên, việc chạy các mô hình lớn hơn đòi hỏi các tài nguyên điện toán lớn hơn và phức tạp hơn, đồng thời thường làm chậm quá trình phát triển một ứng dụng AI. Trừ phi bạn đã xác định rằng một mô hình Gemma nhỏ hơn không thể đáp ứng nhu cầu của bạn, hãy chọn một mô hình có số lượng tham số nhỏ.
- Các cấp độ lượng tử hoá: Nên dùng độ bán chính xác (16 bit), ngoại trừ việc điều chỉnh. Lượng tử hoá là một chủ đề phức tạp, tóm lại là kích thước và độ chính xác của dữ liệu, và do đó, lượng bộ nhớ mà một mô hình AI tạo sinh sử dụng cho các phép tính và tạo phản hồi. Sau khi được huấn luyện bằng dữ liệu có độ chính xác cao (thường là dữ liệu dấu phẩy động 32 bit), các mô hình như Gemma có thể được sửa đổi để sử dụng dữ liệu có độ chính xác thấp hơn, chẳng hạn như kích thước 16, 8 hoặc 4 bit. Các mô hình Gemma được lượng tử hoá này vẫn có thể hoạt động hiệu quả, tuỳ thuộc vào độ phức tạp của các tác vụ, đồng thời sử dụng ít tài nguyên điện toán và bộ nhớ hơn đáng kể. Tuy nhiên, các công cụ điều chỉnh mô hình được lượng tử hoá bị hạn chế và có thể không có trong khung phát triển AI mà bạn đã chọn. Thông thường, bạn phải tinh chỉnh một mô hình như Gemma ở độ chính xác tối đa, sau đó định lượng mô hình kết quả.
Để xem danh sách các mô hình Gemma chính do Google xuất bản, hãy xem phần Bắt đầu sử dụng các mô hình Gemma, Danh sách mô hình Gemma.
Chạy các yêu cầu tạo và suy luận
Sau khi chọn một khung thực thi AI và một biến thể Gemma, bạn có thể bắt đầu chạy mô hình và nhắc mô hình tạo nội dung hoặc hoàn thành các tác vụ. Để biết thêm thông tin về cách chạy Gemma bằng một khung cụ thể, hãy xem các hướng dẫn được liên kết trong phần Chọn một khung.
Định dạng câu lệnh
Tất cả các biến thể Gemma được tinh chỉnh theo hướng dẫn đều có các yêu cầu cụ thể về định dạng câu lệnh. Một số yêu cầu định dạng trong số này được xử lý tự động bằng khung mà bạn dùng để chạy các mô hình Gemma, nhưng khi gửi dữ liệu câu lệnh trực tiếp đến một mã hoá từ, bạn phải thêm các thẻ cụ thể và các yêu cầu gắn thẻ có thể thay đổi tuỳ thuộc vào biến thể Gemma mà bạn đang dùng. Hãy xem các hướng dẫn sau để biết thông tin về cách định dạng câu lệnh và hướng dẫn hệ thống cho biến thể Gemma: