Instructions to use alpindale/goliath-120b with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use alpindale/goliath-120b with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="alpindale/goliath-120b") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("alpindale/goliath-120b") model = AutoModelForCausalLM.from_pretrained("alpindale/goliath-120b") - Notebooks
- Google Colab
- Kaggle
- Local Apps
- vLLM
How to use alpindale/goliath-120b with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "alpindale/goliath-120b" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "alpindale/goliath-120b", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/alpindale/goliath-120b
- SGLang
How to use alpindale/goliath-120b 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 "alpindale/goliath-120b" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "alpindale/goliath-120b", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'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 "alpindale/goliath-120b" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "alpindale/goliath-120b", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use alpindale/goliath-120b with Docker Model Runner:
docker model run hf.co/alpindale/goliath-120b
How was this created?
Hello,
I am trying to understand model merging, and I was wondering how this model was created and why its not 140B, considering its 2 70b llamas. Also can you share the model creation scripts if not can you explain the process?
Goliath wasn't created by simply stacking two models on top of each other. The merge process was essentially taking slices from various layer ranges from each model, then interleaving those slices into a final model. It didn't turn out to be 140B because not all layers were included in the slices. For example, the input and output layers were not stacked, as they need to be unique. The final size is 118B, but I named it 120B because it sounds better.
Goliath wasn't created by simply stacking two models on top of each other. The merge process was essentially taking slices from various layer ranges from each model, then interleaving those slices into a final model. It didn't turn out to be 140B because not all layers were included in the slices. For example, the input and output layers were not stacked, as they need to be unique. The final size is 118B, but I named it 120B because it sounds better.
Thanks for the explanation (and the great model, it works so nicely!)!
But the mergekit provides 3 types of merges: Linear, Slerp and Passthrough. Are you using the passthrough merge as shown here: https://github.com/cg123/mergekit/blob/main/examples/orcamini-platy-44layer.yml
Another question I have is what's your strategy of finding the way to stack the model? Do you always separate them into 16-layer groups and interleaving them?
Best
HomoSapien