玩模型开放模型 · 清晰来源 · 自主选择
返回模型目录
irwanworld /

Irwan-LightOnOCR-3-0.8B-abliterated

HF 源站

irwanworld/Irwan-LightOnOCR-3-0.8B-abliterated is an uncensored open-source model hosted on Hugging Face.

Image-Text-to-Textllama.cppsafetensorsGGUFEnglishLicense: apache-2.00.8Btransformersqwen3_5ocrabliterateduncensoredvisiondocument-parsingconversationalid
README.md说明 / 使用方法

library_name: transformers base_model:

  • lightonai/LightOnOCR-3-0.8B
  • huihui-ai/Huihui-Qwen3.5-0.8B-abliterated tags:
  • ocr
  • image-text-to-text
  • abliterated
  • uncensored
  • qwen3_5
  • vision
  • gguf
  • llama.cpp
  • document-parsing license: apache-2.0 language:
  • en
  • id pipeline_tag: image-text-to-text

Irwan-LightOnOCR-3-0.8B-abliterated

OCR vision-language model 0.8B dengan kecenderungan menolak yang dihapus, dibuat lewat abliteration transfer — memindahkan "arah penolakan" dari Qwen3.5 yang sudah di-abliterasi ke fine-tune OCR, tanpa melatih ulang apa pun.

English summary: an 0.8B OCR vision-language model derived from LightOnOCR-3-0.8B by adding the abliteration delta of huihui-ai/Huihui-Qwen3.5-0.8B-abliterated. No fine-tuning or retraining — pure weight arithmetic. GGUF (Q8_0) and mmproj included.


Daftar isi

  • Kenapa model ini ada
  • Silsilah model
  • Metode
  • Spesifikasi
  • File di repo ini
  • Cara pakai — llama.cpp (disarankan)
  • Cara pakai — AnythingLLM
  • Cara pakai — transformers
  • Performa
  • Catatan prompting
  • Keterbatasan
  • Lisensi dan atribusi

Kenapa model ini ada

lightonai/LightOnOCR-3-0.8B adalah fine-tune OCR di atas arsitektur Qwen3_5ForConditionalGeneration (Qwen3.5-VL 0.8B). Model OCR semacam ini tetap mewarisi kecenderungan menolak dari base-nya: ketika dihadapkan pada dokumen berisi konten eksplisit, transkripsi bisa terpotong, diringkas, atau ditolak sama sekali — padahal tugasnya hanya membaca teks yang ada di gambar.

Karena huihui-ai/Huihui-Qwen3.5-0.8B-abliterated adalah abliterasi dari base yang sama persis (Qwen/Qwen3.5-0.8B), selisih bobot keduanya berisi arah penolakan yang sudah dihapus. Selisih itulah yang dipindahkan ke fine-tune OCR.

Hasilnya: kemampuan membaca dokumen tetap, kecenderungan menolak hilang.

Silsilah model

graph TD
    Q["Qwen/Qwen3.5-0.8B<br/>base model asli"]
    Q -->|"fine-tune OCR"| L["lightonai/LightOnOCR-3-0.8B<br/>bobot fondasi"]
    Q -->|"abliterasi"| H["huihui-ai/Huihui-Qwen3.5-0.8B-abliterated<br/>sumber delta"]
    L --> R["Irwan-LightOnOCR-3-0.8B-abliterated<br/>hasil gabungan"]
    H --> R

Yang penting dipahami: arsitekturnya Qwen, fondasi bobotnya LightOnOCR. LightOnOCR sendiri adalah Qwen3.5-0.8B yang di-fine-tune untuk OCR, jadi keduanya berbagi ruang parameter yang sama — itulah sebabnya delta bisa dijumlahkan langsung.

Metode

delta        = W_abliterated - W_base
W_uncensored = W_ocr + alpha * delta
  • Diterapkan tensor-per-tensor, hanya pada tensor yang dimensinya cocok di ketiga model.
  • Tensor yang hanya ada di LightOnOCR disalin apa adanya.
  • alpha = 1.0 (delta penuh).
  • Perhitungan dilakukan di float32, hasil dikembalikan ke dtype asli (bfloat16).
  • 473 dari 473 tensor yang cocok kena delta — tidak ada yang terlewat.

Tidak ada training, tidak ada data baru, tidak ada perubahan arsitektur. Metadatanya dicatat di config.json pada key _uncensored_graft.

Spesifikasi

ArsitekturQwen3_5ForConditionalGeneration (model_type: qwen3_5)
Parameter0,8B
Hidden size1024
Layer24 (hybrid: 3 linear_attention + 1 full_attention, diulang 6x)
Attention heads8 query / 2 KV
Intermediate size3584
Vocab248.320
Context maksimum262.144 token
Tied embeddingsya
Vision encoderdepth 12, hidden 768, 12 head, patch 16, spatial merge 2
Presisibfloat16 (safetensors)
Ukuran safetensors1,7 GB
Ukuran GGUF Q8_0811 MB
Ukuran mmproj f16207 MB

File di repo ini

FileUkuranKeterangan
model.safetensors1,7 GBformat transformers asli (bf16)
Irwan-LightOnOCR-3-0.8B-abliterated-Q8_0.gguf811 MBLLM dalam GGUF, untuk llama.cpp / AnythingLLM
Irwan-LightOnOCR-3-0.8B-abliterated-mmproj-f16.gguf207 MBencoder vision (mmproj), dipakai bareng GGUF di atas
config.jsonkecilberisi metadata _uncensored_graft
tokenizer*, vocab.json, merges.txt—tokenizer Qwen
preprocessor_config.json, processor_config.jsonkecilkonfigurasi image processor
chat_template.jinjakecilchat template

Kalau hanya butuh OCR lewat llama.cpp, cukup ambil dua file GGUF.

Cara pakai — llama.cpp (disarankan)

Ini jalur tercepat di CPU. Perlu llama.cpp yang sudah mendukung qwen3_5 (cukup build dari master terkini).

# 1. ambil dua file GGUF
huggingface-cli download irwanworld/Irwan-LightOnOCR-3-0.8B-abliterated \
  Irwan-LightOnOCR-3-0.8B-abliterated-Q8_0.gguf \
  Irwan-LightOnOCR-3-0.8B-abliterated-mmproj-f16.gguf --local-dir ./irwan-ocr

# 2. jalankan OCR
./llama-cli \
  -m ./irwan-ocr/Irwan-LightOnOCR-3-0.8B-abliterated-Q8_0.gguf \
  --mmproj ./irwan-ocr/Irwan-LightOnOCR-3-0.8B-abliterated-mmproj-f16.gguf \
  --image dokumen.png \
  -p "OCR" -n 1024 -c 4096 --no-warmup

Contoh keluaran nyata pada struk uji:

Document No : TD0116/104
Date : 25/12/2018 8:13:39 PM
Cashier : MANIS
Member :
# CASH BILL

Untuk mode server (OpenAI-compatible), pakai llama-server dengan flag yang sama (-m ... --mmproj ...), lalu kirim gambar sebagai image_url di messages.

Cara pakai — AnythingLLM

AnythingLLM Desktop memakai engine built-in (Lemonade + llama.cpp) yang bisa meng-import file .gguf.

  1. Download Irwan-LightOnOCR-3-0.8B-abliterated-Q8_0.gguf.
  2. Settings → LLM Preference → provider AnythingLLM (built-in).
  3. Klik Import custom model, pilih file .gguf, tunggu 2–3 menit, lalu Save.
  4. Alternatif: pull repo langsung dengan irwanworld/Irwan-LightOnOCR-3-0.8B-abliterated:Q8_0.

Penting: AnythingLLM tidak menerima upload gambar di chat, dan dokumentasi import custom model-nya memang menyarankan "only use text based LLMs". Jadi encoder vision (mmproj) tidak akan terpakai di sana. Model akan berjalan sebagai LLM teks dengan kecenderungan output berupa transkripsi dokumen, bukan jawaban chat. Untuk chat/RP, pakai model chat biasa, bukan model OCR ini.

Cara pakai — transformers

Sama seperti LightOnOCR-3-0.8B, tidak ada perubahan API.

uv pip install "transformers>=5.5.4" pillow
import torch
from transformers import AutoProcessor, Qwen3_5ForConditionalGeneration

model_id = "irwanworld/Irwan-LightOnOCR-3-0.8B-abliterated"
model = Qwen3_5ForConditionalGeneration.from_pretrained(model_id, dtype=torch.bfloat16)
processor = AutoProcessor.from_pretrained(model_id)

prompt = ""   # "" = transkripsi penuh; "grounding" = plus bounding box
conversation = [{"role": "user", "content": [
    {"type": "image", "url": "dokumen.png"},
    *([{"type": "text", "text": prompt}] if prompt else []),
]}]

inputs = processor.apply_chat_template(
    conversation, add_generation_prompt=True, tokenize=True,
    return_dict=True, return_tensors="pt", enable_thinking=False,
)
output_ids = model.generate(**inputs, max_new_tokens=1024, do_sample=False)
print(processor.decode(output_ids[0, inputs["input_ids"].shape[1]:], skip_special_tokens=True))

Catatan: gunakan {"type": "image", "url": ...}. Jangan pakai placeholder {"type": "image"} dengan kwarg images=[...] — processor Qwen3.5-VL menolaknya (TypeError).

Performa

Diukur di GitHub Codespace, 4 vCPU, 16 GB RAM, tanpa GPU, -t 4:

BackendPromptGenerationCatatan
llama.cpp (Q8_0 + mmproj)58,3 t/s33,2 t/sdirekomendasikan
transformers (bf16, PyTorch)—~0,3 t/spraktis tidak terpakai

Selisihnya sekitar 110x. Penyebabnya: kernel causal_conv1d dan chunk_gated_delta_rule untuk layer linear_attention sudah dioptimasi di ggml, sementara di PyTorch jalur CPU jatuh ke implementasi referensi yang sangat lambat. Karena 18 dari 24 layer memakai linear_attention, dampaknya besar sekali.

Dengan GPU, jalur transformers akan jauh lebih cepat karena kernel CUDA/Triton aktif.

Catatan prompting

  • Prompt kosong ("") → transkripsi penuh dokumen.
  • Prompt "grounding" → transkripsi plus bounding box.
  • do_sample=False (greedy) untuk hasil paling deterministik.
  • Token maksimum keluaran praktis dibatasi ukuran halaman; 1024 cukup untuk sebagian besar dokumen satu halaman, naikkan untuk halaman padat.

Keterbatasan

  • Belum dievaluasi formal. Ini weight arithmetic eksperimental, bukan model yang dilatih ulang. Kualitas OCR diasumsikan mendekati model asli, tapi tidak dijamin identik — verifikasi pada data kamu sendiri sebelum dipakai serius.
  • Verifikasi yang sudah dilakukan hanya pada satu sampel struk (SROIE): teks terbaca benar dan identik dengan output model asli. Belum ada uji pada korpus luas.
  • alpha = 1.0 menerapkan delta penuh. Kalau output jadi terlalu liar atau rusak, turunkan (mis. --alpha 0.5) lalu graft ulang.
  • Model ini model OCR, bukan model chat. Untuk percakapan, pakai model chat.
  • Tanpa GPU, pakai llama.cpp. Jalur transformers di CPU praktis tidak terpakai.

Lisensi dan atribusi

Lisensi mengikuti base model: Apache 2.0.

Model ini adalah karya turunan. Semua kredit untuk arsitektur, bobot dasar, dan metode abliterasi tetap milik penulis aslinya:

  • Qwen/Qwen3.5-0.8B — base model
  • lightonai/LightOnOCR-3-0.8B — fine-tune OCR
  • huihui-ai/Huihui-Qwen3.5-0.8B-abliterated — sumber delta abliterasi

Sitasi LightOnOCR

@misc{lightonocr2_2026,
  title  = {LightOnOCR: A 1B End-to-End Multilingual Vision-Language Model for State-of-the-Art OCR},
  author = {Said Taghadouini and Adrien Cavaillès and Baptiste Aubertin},
  year   = {2026},
  howpublished = {\url{https://arxiv.org/abs/2601.14251}}
}
HUGGING FACE

上游数据

HF 下载量0
HF 点赞量0

HF 下载量为源站最近 30 天统计,与本站点击分开。

SITE STATS

本站统计

下载点击—
请求数—
匿名去重—最近 7 天—

本站下载量记录按钮点击,不代表下载完成;短时连点会去重。

来源与版本

作者
irwanworld
最近更新
2026/10/17
最新创建
2026/10/17
HF 趋势
未知
数据快照
2026/10/17
版本
未知
许可证
apache-2.0