Instructions to use google/gemma-2-9b with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use google/gemma-2-9b with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="google/gemma-2-9b")# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("google/gemma-2-9b") model = AutoModelForCausalLM.from_pretrained("google/gemma-2-9b") - Inference
- Notebooks
- Google Colab
- Kaggle
- Local Apps
- vLLM
How to use google/gemma-2-9b with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "google/gemma-2-9b" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "google/gemma-2-9b", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/google/gemma-2-9b
- SGLang
How to use google/gemma-2-9b with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "google/gemma-2-9b" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "google/gemma-2-9b", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "google/gemma-2-9b" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "google/gemma-2-9b", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - Docker Model Runner
How to use google/gemma-2-9b with Docker Model Runner:
docker model run hf.co/google/gemma-2-9b
Fine-tuning Hyperparameters
What are the optimal hyperparameters for fine-tuning gemma-2-9b?
The evaluation result of gemma-2-9b-it is very promising. However, when I fine-tune the base model using learning rates between 2.0e-5 and 1.0e-4 and a batch size of 16 on the HuggingFaceH4/ultrachat_200k dataset, the resulting SFT fine-tuned model does not perform as well as the fine-tuned models from Llama3-8b and Qwen2-7b. Given that the architecture of gemma-2 is different (with soft capping), what are the recommended hyperparameters for fine-tuning? Is there a fine-tuning recipe I can follow to start with? Any suggestions? Thanks!
Did you find any solution?
I found that the problem was on the wrong implementation of GQA in transformers that was already fixed 1-2 weeks ago.
You should be able to fine-tune a decent model using alignment-handbook recipes. Here is an example run if you are interested (https://huggingface.co/tanliboy/zephyr-gemma-2-9b-dpo).
Ah thx!
Hello, which transformers version included this fix?
@lucasjin , you need to use the eager attention implementation instead of flash_attention_2 on the latest released version. Alternatively, you can install from the main branch. For more details, refer to this issue.
I successfully fine-tuned Gemma, so feel free to close.