Join the conversation

Join the community of Machine Learners and AI enthusiasts.

Sign Up
melvindaveΒ 
posted an update 1 day ago
Post
45
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!