Cómo correr GPT-OSS en Windows con GPU (y no morir en el intento)

En los últimos días, el nuevo modelo GPT-OSS de OpenAI ha despertado mucha curiosidad. Sin embargo, la mayoría de las guías y tutoriales que encontré —ya sea en Hugging Face o en la web— se centran en cómo ejecutarlo en Linux o Mac.

Pero seamos sinceros: lo que realmente importa a la mayoría de nosotros es hacerlo funcionar en una PC con Windows y GPU, porque sin GPU es, básicamente, inutilizable.

En mi caso, cuento con una NVIDIA RTX 3090, Windows 10 y abundante RAM. Y aunque eso suena como la receta perfecta para un despliegue fluido… la realidad fue otra.

Primera frustración: Triton y Windows, una mala combinación

El primer obstáculo fue descubrir que Triton, una librería clave para este tipo de modelos, no es compatible con Windows.

Eso provocaba que el modelo hiciera offload a CPU debido a que venía en un formato nuevo que requería Triton. Y créanme: correr GPT-OSS en CPU no es algo que recomiende si valoran su tiempo.

En medio de mi búsqueda, encontré este repositorio prometedor:

woct0rdho/triton-windows

Me devolvió la esperanza por un momento. Incluso vi que en el GitHub de Hugging Face se mencionaba un parche específico para habilitarlo en Windows. Pero… tampoco funcionó en mi entorno.

La solución: LM Studio

Tras varios intentos fallidos, decidí probar otra ruta: LM Studio, un servidor local para modelos LLM.

Para que funcionara con GPT-OSS, fue necesario actualizar a la versión 0.3.22 (las anteriores no lo soportan). Y ahí estuvo la clave:

Carga correcta del modelo.

  • Ejecución con GPU sin necesidad de Triton.

  • Interfaz sencilla para ponerlo en modo servidor.

Con eso, finalmente pude conectarme desde Python al modelo corriendo localmente… y esta vez todo funcionó a la perfección.

import lmstudio as lms

model = lms.llm("openai/gpt-oss-20b")
result = model.respond("What is the meaning of life?")

print(result)

Esta versión se comunica con el host via la API de openAI y define el nivel de esfuerzo, es decir, cuánto va a pensar. (low medium high). Tener en cuenta de que en high, piensa un buen rato.

from openai import OpenAI

client = OpenAI(
    base_url="http://localhost:1234/v1",  # Assuming LM Studio is running on default port
    api_key="lm-studio"  # LM Studio uses a placeholder API key
)

def generate_with_reasoning(prompt, effort="low"):
    messages = [
        {"role": "system", "content": "You are a helpful AI assistant."},
        {"role": "user", "content": prompt}
    ]
    stream = client.chat.completions.create(
        model="your-model-name",  # Replace with the name of your loaded model
        messages=messages,
        extra_body={"reasoning_effort": effort},  # Set reasoning effort here
        stream=True
    )
    output = ""
    for chunk in stream:
        if chunk.choices[0].delta.content:
            output += chunk.choices[0].delta.content
    return output

# Example usage:
prompt_high_effort = "Explain the concept of quantum entanglement in detail."
response_high = generate_with_reasoning(prompt_high_effort, effort="medium")
print(f"High effort response: {response_high}")

prompt_low_effort = "Summarize the key points of the American Revolution."
response_low = generate_with_reasoning(prompt_low_effort, effort="low")
print(f"Low effort response: {response_low}")

Conclusión

La experiencia me dejó una lección clara: en el ecosistema de IA, Windows siempre juega en desventaja respecto a Linux en cuanto a compatibilidad. Pero con algo de paciencia y las herramientas adecuadas, se puede llegar al resultado esperado.

Si estás en Windows con una GPU potente y quieres probar GPT-OSS, LM Studio 0.3.22 es hoy la opción más sencilla y funcional que encontré.

Ahora que lo tengo corriendo, puedo decirlo: la espera y la frustración valieron la pena.

Leave a Reply

Your email address will not be published. Required fields are marked *