Join the conversation

Join the community of Machine Learners and AI enthusiasts.

Sign Up
melvindaveΒ 
posted an update 27 days ago
Post
83
What's the best small model for training on tool calls?

Basically, the use case is to use it with an agent which processes a customer's inquiry and suggest a travel itinerary via an API call. I'm thinking this will just be wrapped as a tool call). It should be smart enough also to understand when to call multiple tools to achieve its goal.

Any ideas on this? I need to do a POC with a small model which can run in my RTX 3090. Planning to use unsloth for the fine-tune.

Just wanted to know which model I can use as baseline for this use case.

Hmm... If the goal is to conduct a POC, a model without a dedicated β€œthinking” protocol might be easier to work with:


For a small tool-calling SFT POC, I would roughly map the current candidates on two axes:

  • Vertical: how much explicit reasoning/thinking state the model exposes
  • Horizontal: how much model-specific protocol machinery you need to care about
Reasoning behavior ↓ / Protocol complexity β†’ Relatively straightforward Middle ground More machinery
No explicit thinking state Granite 4.1 3B β€” Dense, conventional tool-call SFT baseline (Unsloth)

Qwen3 4B Instruct 2507 β€” non-thinking-only Qwen3; strong clean baseline (Unsloth)

Phi-4-mini-instruct β€” 3.8B Dense; function-calling trained
OLMo 3 7B Instruct β€” Think is a separate checkpoint, but tool serialization is model-specific

Ministral 3 3B Instruct β€” Reasoning is a separate checkpoint; Mistral-specific tool stack (Unsloth)

LFM2.5 1.2B Instruct β€” tiny and tool-oriented, but Liquid-specific formatting/architecture (Unsloth)
β€”
Thinking can be enabled/disabled β€” Gemma 4 E2B-it β€” thinking OFF is fairly clean; ON adds reasoning/action state and history rules (Unsloth, fine-tuning)

Qwen3 4B β€” hybrid thinking/non-thinking; flexible but adds an experimental variable (Unsloth)
Qwen3.5 4B β€” strong tool/agent candidate, but reasoning and tool-call parsing both enter the picture

NVIDIA Nemotron 3 Nano 4B β€” unified reasoning/non-reasoning model; controllable reasoning state (Unsloth)
Reasoning-first / reasoning-only β€” β€” LFM2.5 2.6B β€” always-think behavior plus Liquid-specific tool protocol (Unsloth)

Qwen3 4B Thinking 2507 β€” thinking-only sibling of the clean Instruct checkpoint (Unsloth)

Ministral 3 3B Reasoning β€” explicit reasoning plus Mistral's tool protocol (Unsloth)
Specialized rather than general-purpose FunctionGemma 270M β€” exceptionally clean if the job is mostly API/function routing, but not really a full travel assistant (Unsloth) β€” β€”

For an RTX 3090 + Unsloth POC where the first question is simply "does my travel-agent SFT dataset work?", the top-left corner is probably where I would start:

Granite 4.1 3B or Qwen3 4B Instruct 2507.

Then Gemma 4 E2B with thinking disabled is an interesting middle-ground comparison, while Qwen3.5 4B is a good way to test whether accepting the extra reasoning/protocol machinery actually buys anything on dependent multi-tool workflows.

So this is not really a quality ranking: moving to the right mostly means more state/template/parser behavior to validate, not necessarily a worse model.

Β·

thank you @John6666 .this is really helpful!