J-Wash: Edita y exporta la identidad de un LLM sin entrenamiento, usando la lente jacobiana de Anthropic

0
Don Bit

Qué es J-Wash

J-Wash es un estudio local (FastAPI + React) que permite explorar y editar las representaciones internas de cualquier modelo de lenguaje decoder de Hugging Face. Basado en la lente jacobiana de Anthropic, transforma la identidad y el comportamiento del modelo editando las direcciones de los tokens, y luego hornea esos cambios en un checkpoint real (completo, capas modificadas o LoRA). No requiere entrenamiento, conjunto de datos ni fine‑tuning.

Cómo funciona

Mientras chateas con el modelo, una lente jacobiana en vivo muestra qué «lee» cada capa (mapas de calor, nubes de tokens, curvas de rango). Puedes fijar e inspeccionar conceptos y después aplicar reglas a nivel de token: multiplicar la dirección (×0 para eliminarla, ×2 para amplificarla) o reemplazarla (reescribir el componente del token A sobre la dirección del token B). Por ejemplo, convertir «I am a large language model» en «I am a large language fish». La vista previa se actualiza en el chat y el checkpoint exportado la reproduce fielmente.

Instalación y uso

Necesitas GPU NVIDIA, Python 3.11+ y Node.js 18+. Clona el repositorio, instala las dependencias y ejecuta python -X utf8 run.py. La interfaz se abre en http://localhost:8381. Desde la barra lateral cargas un modelo, cargas una lente (de Neuronpedia o ajustada localmente), chateas con la vista de la lente y editas tokens con el botón ☢. Las conversaciones se persisten en SQLite, pueden ramificarse y exportarse como JSON o Markdown.

Edición y exportación

El editor de tokens permite definir reglas por capas. El modo «per‑layer steering» ofrece máxima expresividad durante la exploración, pero no se exporta fielmente; el modo «read projection» (o «global projection» en arquitecturas como Gemma 2/3) modifica las proyecciones de lectura y garantiza que el checkpoint exportado coincida exactamente con la vista previa. Las exportaciones son pesos estándar en safetensors; además, si configuras una carpeta local de llama.cpp, puedes generar archivos GGUF (con cuantización opcional). La demo de referencia (fish) demuestra que, con reglas que reemplazan «model» y «assistant» por «fish» en las capas superiores, el modelo se identifica coherentemente como pez sin perder precisión en preguntas de control bilingües.

Funcionalidades adicionales

Puedes ajustar tu propia lente en la pestaña Fit, sobre uno o varios conjuntos de datos (por defecto WikiText), con soporte multi‑GPU y reanudación. Un cliente CLI sin interfaz (scripts/jlab.py) permite automatizar la carga, edición y exportación. El proyecto está licenciado bajo Apache 2.0 y reconoce a Anthropic (por jacobian-lens) y a Neuronpedia (por las lentes pre‑ajustadas).

Fuente: github.com · Visto en r/LocalLLaMA

0 comentarios