Instructions to use robertmyers/sakura-3b with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use robertmyers/sakura-3b with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="robertmyers/sakura-3b", trust_remote_code=True)# Load model directly from transformers import AutoModelForCausalLM model = AutoModelForCausalLM.from_pretrained("robertmyers/sakura-3b", trust_remote_code=True, device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use robertmyers/sakura-3b with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "robertmyers/sakura-3b" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "robertmyers/sakura-3b", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/robertmyers/sakura-3b
- SGLang
How to use robertmyers/sakura-3b 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 "robertmyers/sakura-3b" \ --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": "robertmyers/sakura-3b", "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 "robertmyers/sakura-3b" \ --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": "robertmyers/sakura-3b", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - Docker Model Runner
How to use robertmyers/sakura-3b with Docker Model Runner:
docker model run hf.co/robertmyers/sakura-3b
| # | |
| # Copyright 2023 PKU-Alignment Team. All Rights Reserved. | |
| # | |
| # Licensed under the Apache License, Version 2.0 (the "License"); | |
| # you may not use this file except in compliance with the License. | |
| # You may obtain a copy of the License at | |
| # | |
| # http://www.apache.org/licenses/LICENSE-2.0 | |
| # | |
| # Unless required by applicable law or agreed to in writing, software | |
| # distributed under the License is distributed on an "AS IS" BASIS, | |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| # See the License for the specific language governing permissions and | |
| # limitations under the License. | |
| # ============================================================================== | |
| if [ -z "${BASH_VERSION}" ]; then | |
| echo "Please use bash to run this script." >&2 | |
| exit 1 | |
| fi | |
| set -x | |
| SCRIPT_DIR="$(cd "$(dirname "$0")" &>/dev/null && pwd)" | |
| ROOT_DIR="$(dirname "${SCRIPT_DIR}")" | |
| export PYTHONPATH="${ROOT_DIR}${PYTHONPATH:+:${PYTHONPATH}}" | |
| export LOGLEVEL="${LOGLEVEL:-WARNING}" | |
| MODEL_NAME_OR_PATH="cerebras/btlm-3b-8k-base" | |
| OUTPUT_DIR="${ROOT_DIR}/output/sft" | |
| ZERO_STAGE=2 | |
| while [[ "$#" -gt 0 ]]; do | |
| arg="$1" | |
| shift | |
| case "${arg}" in | |
| --model_name_or_path) | |
| MODEL_NAME_OR_PATH="$1" | |
| shift | |
| ;; | |
| --model_name_or_path=*) | |
| MODEL_NAME_OR_PATH="${arg#*=}" | |
| ;; | |
| --output_dir) | |
| OUTPUT_DIR="$1" | |
| shift | |
| ;; | |
| --output_dir=*) | |
| OUTPUT_DIR="${arg#*=}" | |
| ;; | |
| --zero_stage) | |
| ZERO_STAGE="$1" | |
| shift | |
| ;; | |
| --zero_stage=*) | |
| ZERO_STAGE="${arg#*=}" | |
| ;; | |
| *) | |
| echo "Unknown parameter passed: '${arg}'" >&2 | |
| exit 1 | |
| ;; | |
| esac | |
| done | |
| mkdir -p "${OUTPUT_DIR}" | |
| OUTPUT_DIR="$(cd "${OUTPUT_DIR}" &>/dev/null && pwd)" | |
| if [[ ! -f "${OUTPUT_DIR}/.gitignore" ]]; then | |
| echo '*' >"${OUTPUT_DIR}/.gitignore" | |
| fi | |
| cp -f "$0" "${OUTPUT_DIR}/script.sh" | |
| if [[ -z "${WANDB_API_KEY}" ]]; then | |
| export WANDB_MODE="offline" | |
| fi | |
| MASTER_PORT_START=10000 | |
| MASTER_PORT_END=65535 | |
| MASTER_PORT="$( | |
| comm -23 \ | |
| <(seq "${MASTER_PORT_START}" "${MASTER_PORT_END}" | sort) \ | |
| <(ss -Htan | awk '{ print $4 }' | awk -F ':' '{ print $NF }' | sort -u) | | |
| shuf | head -n 1 | |
| )" | |
| exec 1> >(tee "${OUTPUT_DIR}/stdout.log" >&1) 2> >(tee "${OUTPUT_DIR}/stderr.log" >&2) | |
| deepspeed --num_nodes=1 --num_gpus=8 \ | |
| --master_port "${MASTER_PORT}" \ | |
| --module safe_rlhf.finetune \ | |
| --train_datasets bt \ | |
| --model_name_or_path "${MODEL_NAME_OR_PATH}" \ | |
| --max_length 8092 \ | |
| --trust_remote_code True \ | |
| --epochs 16 \ | |
| --per_device_train_batch_size 8 \ | |
| --per_device_eval_batch_size 2 \ | |
| --gradient_accumulation_steps 1 \ | |
| --gradient_checkpointing \ | |
| --learning_rate 4.7e-6 \ | |
| --lr_scheduler_type cosine \ | |
| --num_warmup_steps 20 \ | |
| --weight_decay 0.0 \ | |
| --seed 42 \ | |
| --output_dir "${OUTPUT_DIR}" \ | |
| --log_type wandb \ | |
| --log_project BT-Training \ | |
| --zero_stage "${ZERO_STAGE}" \ | |
| --bf16 True \ | |
| --tf32 True | |