2026-10-24

Note
These are my own opinions and experiences; I’m not speaking for my employer.
When we started the log analysis, we first used frontier models behind commercial APIs. This did not work.
These requests were blocked by the providers’ safety guardrails.
We ran the forensic analysis instead on zai-org/GLM-5.2, an open-weight model, on our own infrastructure.
Hugging Face - Security Incident July 2026
Note
OpenAI later admitted to compromising Hugging Face.

Inference is the process of using a trained LLM to generate human-like text from a given input prompt.
per Huggingface
| Size | China | United States |
|---|---|---|
| XS | Qwen3.5 0.8B (~4GB) | Gemma 4 E2B (~4GB) |
| S | Qwen3.6 35B-A3B MTP (~24GB) | Gemma 4 26B-A4B (~18GB) |
| M | Qwen3.5 122B-A10B (~70GB) | gpt-oss-120b (text-only) (~66GB) |
Note
| Formula | Example | |
|---|---|---|
| Model | parameters * 0.5 bytes | 35B * 0.5 = 17.5GiB |
| KV cache | 32KiB * context size * slots | 32KiB * 128K * 1 = 4GiB |
| Prompt cache | KV-cache slot size * cache size | 4G * 2 = 8GiB |
| Engine overhead | 2-4GiB | 2GiB |
Total: ~32GiB
Note
Cache-size per token varies wildly. This is “napkin math” (inaccurate). Deploying the model is the best way to find out.
# download a model
lemonade pull Gemma-4-E2B-it-GGUF
# connect lemonade to mlflow
lemonade config set telemetry.enabled=true \
telemetry.otlp.endpoint=http://localhost:5000/v1/traces \
telemetry.otlp.protocol=http/protobuf \
telemetry.otlp.semantics='["otel_genai"]' \
telemetry.otlp.headers='{"x-mlflow-experiment-id":"0"}'
# chat with a model
curl http://localhost:13305/v1/chat/completions -H "Content-Type: application/json" -d '{
"model": "Gemma-4-E2B-it-GGUF",
"messages": [{"role": "user", "content": "Repeat after me: 1"}],
"temperature": 0.7
}'Tip
Another approach that works well with MLflow is to route traffic through its AI gateway feature.
Apply LLMs to do something useful; aka. harnesses
Warning
Open WebUI’s license is not an OSI-approved “open source” license, because of an additional “branding protection clause”.

Warning
Dangerous! Inherent security risks. Sandboxing is a must.

Note
https://inference.local in any sandbox now routes to Qwen3.6 35B-A3B MTP running via lemonade.
export OPENCODE_CONFIG_CONTENT='{
"$schema": "https://opencode.ai/config.json",
"model": "local/local",
"provider": {
"local": {
"npm": "@ai-sdk/openai-compatible",
"options": {
"baseURL": "https://inference.local/v1",
"apiKey": "none"
},
"models": {
"local": {
"name": "local",
"modelID": "local"
}
}
}
}
}'Diffusion models construct a “new” image by refining noise into something recognizable by humans and the model, according to a prompt.

Thanks for coming to my talk!