mirror of
https://github.com/huggingface/candle.git
synced 2025-06-15 18:28:24 +00:00
Add the SmolLM2 models. (#2595)
* Add the SmolLM2 models. * More SmolLM2 support.
This commit is contained in:
@ -71,6 +71,10 @@ enum Which {
|
||||
L8b,
|
||||
#[value(name = "phi3")]
|
||||
Phi3,
|
||||
#[value(name = "SmoLM2-360M-Instruct")]
|
||||
SmolLM2_360MInstruct,
|
||||
#[value(name = "SmoLM2-1.7B-Instruct")]
|
||||
SmolLM2_1BInstruct,
|
||||
}
|
||||
|
||||
impl Which {
|
||||
@ -88,7 +92,9 @@ impl Which {
|
||||
| Self::Leo7b
|
||||
| Self::Leo13b
|
||||
| Self::L8b
|
||||
| Self::Phi3 => false,
|
||||
| Self::Phi3
|
||||
| Self::SmolLM2_1BInstruct
|
||||
| Self::SmolLM2_360MInstruct => false,
|
||||
// Zephyr and OpenChat are fine tuned versions of mistral and should be treated in the
|
||||
// same way. Starling is a fine tuned version of OpenChat.
|
||||
Self::OpenChat35
|
||||
@ -124,6 +130,8 @@ impl Which {
|
||||
| Self::OpenChat35
|
||||
| Self::Starling7bAlpha
|
||||
| Self::L8b
|
||||
| Self::SmolLM2_1BInstruct
|
||||
| Self::SmolLM2_360MInstruct
|
||||
| Self::Phi3 => false,
|
||||
Self::Zephyr7bAlpha | Self::Zephyr7bBeta => true,
|
||||
}
|
||||
@ -150,6 +158,8 @@ impl Which {
|
||||
| Self::Zephyr7bAlpha
|
||||
| Self::Zephyr7bBeta
|
||||
| Self::L8b
|
||||
| Self::SmolLM2_1BInstruct
|
||||
| Self::SmolLM2_360MInstruct
|
||||
| Self::Phi3 => false,
|
||||
Self::OpenChat35 | Self::Starling7bAlpha => true,
|
||||
}
|
||||
@ -179,6 +189,8 @@ impl Which {
|
||||
Self::Starling7bAlpha => "berkeley-nest/Starling-LM-7B-alpha",
|
||||
Self::L8b => "meta-llama/Meta-Llama-3-8B",
|
||||
Self::Phi3 => "microsoft/Phi-3-mini-4k-instruct",
|
||||
Self::SmolLM2_360MInstruct => "HuggingFaceTB/SmolLM2-360M-Instruct",
|
||||
Self::SmolLM2_1BInstruct => "HuggingFaceTB/SmolLM2-1.7B-Instruct",
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -343,6 +355,14 @@ impl Args {
|
||||
"microsoft/Phi-3-mini-4k-instruct-gguf",
|
||||
"Phi-3-mini-4k-instruct-q4.gguf",
|
||||
),
|
||||
Which::SmolLM2_360MInstruct => (
|
||||
"HuggingFaceTB/SmolLM2-360M-Instruct-GGUF",
|
||||
"smollm2-360m-instruct-q8_0.gguf",
|
||||
),
|
||||
Which::SmolLM2_1BInstruct => (
|
||||
"HuggingFaceTB/SmolLM2-1.7B-Instruct-GGUF",
|
||||
"smollm2-1.7b-instruct-q4_k_m.gguf",
|
||||
),
|
||||
};
|
||||
let revision = if self.which == Which::Phi3 {
|
||||
"5eef2ce24766d31909c0b269fe90c817a8f263fb"
|
||||
@ -455,6 +475,8 @@ fn main() -> anyhow::Result<()> {
|
||||
| Which::Leo7b
|
||||
| Which::Leo13b
|
||||
| Which::L8b
|
||||
| Which::SmolLM2_1BInstruct
|
||||
| Which::SmolLM2_360MInstruct
|
||||
| Which::Phi3 => 1,
|
||||
Which::Mixtral
|
||||
| Which::MixtralInstruct
|
||||
@ -573,6 +595,7 @@ fn main() -> anyhow::Result<()> {
|
||||
}
|
||||
|
||||
let eos_token = match args.which {
|
||||
Which::SmolLM2_360MInstruct | Which::SmolLM2_1BInstruct => "<|endoftext|>",
|
||||
Which::L8b => "<|end_of_text|>",
|
||||
_ => match args.which.is_open_chat() {
|
||||
true => "<|end_of_turn|>",
|
||||
|
Reference in New Issue
Block a user