Resolving Interference When Merging Models
Paper • 2306.01708 • Published • 19
How to use DataPilot/Llama3.1-ArrowSE-v0.4 with Transformers:
# Use a pipeline as a high-level helper
from transformers import pipeline
pipe = pipeline("text-generation", model="DataPilot/Llama3.1-ArrowSE-v0.4")
messages = [
{"role": "user", "content": "Who are you?"},
]
pipe(messages) # Load model directly
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("DataPilot/Llama3.1-ArrowSE-v0.4")
model = AutoModelForCausalLM.from_pretrained("DataPilot/Llama3.1-ArrowSE-v0.4")
messages = [
{"role": "user", "content": "Who are you?"},
]
inputs = tokenizer.apply_chat_template(
messages,
add_generation_prompt=True,
tokenize=True,
return_dict=True,
return_tensors="pt",
).to(model.device)
outputs = model.generate(**inputs, max_new_tokens=40)
print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:]))How to use DataPilot/Llama3.1-ArrowSE-v0.4 with vLLM:
# Install vLLM from pip:
pip install vllm
# Start the vLLM server:
vllm serve "DataPilot/Llama3.1-ArrowSE-v0.4"
# Call the server using curl (OpenAI-compatible API):
curl -X POST "http://localhost:8000/v1/chat/completions" \
-H "Content-Type: application/json" \
--data '{
"model": "DataPilot/Llama3.1-ArrowSE-v0.4",
"messages": [
{
"role": "user",
"content": "What is the capital of France?"
}
]
}'docker model run hf.co/DataPilot/Llama3.1-ArrowSE-v0.4
How to use DataPilot/Llama3.1-ArrowSE-v0.4 with SGLang:
# Install SGLang from pip:
pip install sglang
# Start the SGLang server:
python3 -m sglang.launch_server \
--model-path "DataPilot/Llama3.1-ArrowSE-v0.4" \
--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": "DataPilot/Llama3.1-ArrowSE-v0.4",
"messages": [
{
"role": "user",
"content": "What is the capital of France?"
}
]
}'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 "DataPilot/Llama3.1-ArrowSE-v0.4" \
--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": "DataPilot/Llama3.1-ArrowSE-v0.4",
"messages": [
{
"role": "user",
"content": "What is the capital of France?"
}
]
}'How to use DataPilot/Llama3.1-ArrowSE-v0.4 with Docker Model Runner:
docker model run hf.co/DataPilot/Llama3.1-ArrowSE-v0.4
このモデルはllama3.1-8B-instructをもとに日本語性能を高めることを目的にMergekit&ファインチューニングを用いて作成されました。
meta,ELYZA,nvidiaの皆様に感謝します。
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
DEFAULT_SYSTEM_PROMPT = "あなたは誠実で優秀な日本人のアシスタントです。特に指示が無い場合は、常に日本語で回答してください。"
text = "Vtuberとして成功するために大切な5つのことを小学生にでもわかるように教えてください。"
model_name = "DataPilot/Llama3.1-ArrowSE-v0.4"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype="auto",
device_map="auto",
)
model.eval()
messages = [
{"role": "system", "content": DEFAULT_SYSTEM_PROMPT},
{"role": "user", "content": text},
]
prompt = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True
)
token_ids = tokenizer.encode(
prompt, add_special_tokens=False, return_tensors="pt"
)
with torch.no_grad():
output_ids = model.generate(
token_ids.to(model.device),
max_new_tokens=1200,
do_sample=True,
temperature=0.6,
top_p=0.9,
)
output = tokenizer.decode(
output_ids.tolist()[0][token_ids.size(1):], skip_special_tokens=True
)
print(output)
This is a merge of pre-trained language models created using mergekit.
This model was merged using the TIES merge method using meta-llama/Meta-Llama-3.1-8B-Instruct as a base.
The following models were included in the merge:
The following YAML configuration was used to produce this model:
models:
- model: meta-llama/Meta-Llama-3.1-8B-Instruct
parameters:
weight: 1
- model: elyza/Llama-3-ELYZA-JP-8B
parameters:
weight: 0.7
- model: nvidia/Llama3-ChatQA-1.5-8B
parameters:
weight: 0.15
merge_method: ties
base_model: meta-llama/Meta-Llama-3.1-8B-Instruct
parameters:
normalize: false
dtype: bfloat16