🦁 Tonka — Tutor de IA para el ICFES, sin internet, sin límites
Tonka es un tutor de IA, enfocado en el examen de estado colombiano ICFES, que funciona completamente offline en celulares de gama baja — sin límites de uso, sin internet, sin que tus datos salgan del dispositivo — pensado para el estudiante colombiano que los modelos de frontera dejaron por fuera.
El problema
Los mejores modelos de IA del mundo existen. Pero para millones de estudiantes colombianos, llegar a ellos tiene barreras reales:
Económica — los planes gratuitos tienen límites de tokens; las mejores funcionalidades son de pago.
Infraestructura — conectividad intermitente o nula en zonas rurales y periurbanas.
Hardware — no todo el mundo tiene un computador o un teléfono de gama alta.
Privacidad — los datos del estudiante salen a servidores externos fuera de su control.
Tonka fue construido para remover esas cuatro barreras al mismo tiempo.
La solución
Tonka es un modelo de lenguaje pequeño, fine-tuneado con enfoque socrático, que corre directamente en el dispositivo Android del estudiante. No necesita internet. No tiene muros de pago. Los datos nunca salen del teléfono.
En lugar de dar respuestas directas, Tonka guía al estudiante con preguntas — como lo haría un buen tutor humano — para que llegue a la comprensión por su propio camino.
Stack técnico
Componente
Detalle
Modelo base
Gemma 4 E2B-it (Google)
Fine-tuning
QLoRA via Unsloth (Kaggle T4 x2)
Dataset
~985 diálogos socráticos basados en el banco de preguntas del ICFES
Inferencia en Android
MediaPipe LLM Inference API
Formato de producción
GGUF (cuantizado para gama baja)
Enfoque pedagógico
Los diálogos de entrenamiento siguen una estructura socrática de 6 turnos (3 usuario / 3 asistente), calibrados al nivel de dificultad real del Saber 11. El modelo fue entrenado para hacer preguntas que activen el razonamiento del estudiante, no para entregar la respuesta.
Qué hay en este repositorio
├── tonka-gemma4-e2b-lora/ # Adaptadores LoRA (investigación / fine-tuning adicional)
├── tonka-gemma4-e2b-gguf/ # Modelo cuantizado para inferencia en Android
└── README.md
Instala una app compatible con MediaPipe LLM Inference (ej. SmolChat).
Carga el modelo localmente — no se requiere conexión a internet.
Limitaciones actuales
Ser honesto sobre los límites es parte del proceso:
Dominio acotado — Tonka fue entrenado exclusivamente sobre temáticas y estructura del ICFES Saber 11. No está optimizado para tutorizar fuera de ese dominio.
Sin métricas de efectividad — aún no existe instrumentación para medir si el enfoque socrático está mejorando el aprendizaje del estudiante. Es la siguiente brecha a cerrar.
Dataset pequeño — ~985 ejemplos es un punto de partida. La calidad del diálogo socrático mejorará con más datos y con retroalimentación de usuarios reales.
Roadmap
Instrumentación de sesiones con datos anonimizados para medir efectividad pedagógica
Expansión del dataset socrático (más temáticas, más niveles de dificultad)
App Android nativa con UX diseñada para el contexto del estudiante colombiano
Validación con usuarios reales en etapa piloto
Contexto del proyecto
Tonka nació como parte del Kaggle Gemma 4 Good Hackathon, con el objetivo de demostrar que es posible llevar IA pedagógica de calidad a dispositivos de bajo costo, sin depender de infraestructura de nube.
Es también la extensión natural de Tutor ICFES, una plataforma SaaS de preparación para el Saber 11 construida previamente por el mismo autor, con más de 1.350 preguntas estructuradas y lógica de diagnóstico adaptativo.
Autor
Iván Romero — Estudiante de Ingeniería en Ciencia de Datos, ITM Medellín HuggingFace · GitHub
"La IA no debería ser un privilegio. Tonka es una apuesta para que no lo sea."
This model was trained to be a socratic tutor for helping students to understand concepts with guiding questions instead of directly answering their doubts.
Use with llama.cpp
Install llama.cpp through brew (works on Mac and Linux)
bash
1brew install llama.cpp
2
Invoke the llama.cpp server or the CLI.
CLI:
llama-cli --hf-repo idromerom714/tonka-gemma4-e2b-merged-Q4_K_M-GGUF --hf-file tonka-gemma4-e2b-merged-q4_k_m.gguf -p "The meaning to life and the universe is"
Note: You can also use this checkpoint directly through the usage steps listed in the Llama.cpp repo as well.
Step 1: Clone llama.cpp from GitHub.
git clone https://github.com/ggerganov/llama.cpp
Step 2: Move into the llama.cpp folder and build it with LLAMA_CURL=1 flag along with other hardware-specific flags (for ex: LLAMA_CUDA=1 for Nvidia GPUs on Linux).
cd llama.cpp && LLAMA_CURL=1 make
Step 3: Run inference through the main binary.
./llama-cli --hf-repo idromerom714/tonka-gemma4-e2b-merged-Q4_K_M-GGUF --hf-file tonka-gemma4-e2b-merged-q4_k_m.gguf -p "The meaning to life and the universe is"