Skip to content

Commit dc4152d

Browse files
unamedkrclaude
andcommitted
docs(README.ko): v3.20 BPE UTF-8 fix blurb + 35B 실용 레시피
README.md v3.20 entry의 한국어 mirror. Project convention per memory note [Round 24: README.ko.md v3.9 sync]이 "두 README를 같은 버전에 맞춰 유지"이므로 업데이트. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 657f203 commit dc4152d

1 file changed

Lines changed: 4 additions & 0 deletions

File tree

README.ko.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,10 @@ Chunk-RAG가 잘못된 섹션을 검색하면, 모델은 **"모른다"고 하지
7676

7777
> **v2 후속 — Working Memory Cliff (2026-04-11)**: v1 결과를 더 큰 grid로 확장 측정했습니다 (1B/3B 모델, ctx 256-2048, 204 NIAH trials + FP32-weights 통제 실험). 두 모델 모두 명목 128K context window의 **1% 미만**에서 sharp cliff가 존재합니다 (1B Q8 cliff 512-1024, 3B Q4 cliff 1024-1280을 **step function**으로). 6.4× KV 압축은 20개 cell 중 18개에서 fp32 baseline과 bit-for-bit 일치 — cliff는 model property이지 KV/weight quantization artifact가 아닙니다. 정직한 재해석: Beyond RAG는 *유효* working memory 안에 들어가는 문서에 대해서만 동작하며, 그 크기는 명목 context window의 100분의 1에서 1000분의 1입니다. 전체 tech report: [`docs/paper/working-memory-cliff.md`](docs/paper/working-memory-cliff.md). HuggingFace blog post draft: [`docs/paper/hf-blog-draft.md`](docs/paper/hf-blog-draft.md).
7878
79+
> **v3.20 ★★ BPE encode/decode UTF-8 수정 — 국제 문자 silent 품질 재앙 해결 (2026-04-21)**: `encode_byte_to_bpe_char` / `decode_bpe_token` 에 있던 대칭 버그 두 개가 **Llama-3 / Qwen3 계열 모든 모델**에서 비ASCII 문자 (액센트, CJK, 키릴, byte-fallback 이모지)를 포함한 모든 프롬프트/출력을 조용히 깨뜨리고 있었습니다. **인코딩**: GPT-2 direct-byte 코드포인트에 대해 ≥ 0x80 의 raw byte를 그대로 emit (독립형 바이트는 invalid UTF-8)하여 `str_lookup`이 매칭에 실패 → 문자가 byte-fallback을 통해 잘못된 저-ID 토큰으로 변환. **디코딩**: U+0080-U+00FF 코드포인트를 UTF-8 인코딩 (`c3 83`)으로 출력, 실제 바이트 (`0xC3`)가 아님 → 출력 이중 인코딩 ("café" → "café"). 토큰 레벨 HF 참조 일치 검증: `café`/`naïve`/`日本語`/`привет` 모두 HF `AutoTokenizer` 와 byte-byte 일치. 새 [`tools/refparity/`](tools/refparity/) 프레임워크의 A/B 출력 diff로 발견. `quant.h` single-header 에도 sync. `scripts/test_tokenizer.sh` 회귀 fixture 추가. 영향 범위: GPT-2 byte-level BPE (Llama-3.x, Qwen2.5/3.x/3.5/3.6); Gemma/Phi-3 SentencePiece 경로 영향 없음. 회귀 15/15 + 토크나이저 8/8 PASS. v0.27.0.
80+
81+
> **Qwen3.6-35B 16 GB Mac 실용 레시피**: 장문 coherence 기준 현재 최선 구성은 `Qwen3.6-35B-A3B-UD-Q5_K_M.gguf` + `--rep-penalty 1.3`. "Once upon a time in a faraway land" (-n 200, T=0) 실측: 기본 설정은 117 토큰에서 반복 루프, Q5_K_M + rep-penalty는 200 토큰 전체 예산을 생성 후 말미에서만 완만하게 degrade. 35B DeltaNet drift 는 여전히 열린 아키텍처 조사 과제이나, 사용자가 지금 쓸 수 있는 최선.
82+
7983
> **v3.19 ★ DeltaNet L2-norm 공식이 ggml과 일치 — Qwen3.6 coherence +36% (2026-04-21)**: R26의 "eps 수정"은 올바른 진단이지만 **잘못된 공식**이었습니다. 우리는 `1/sqrt(ss + eps)`를 사용했지만 llama.cpp `ggml_l2_norm``1/max(sqrt(ss), eps)`을 사용 — near-zero 입력에서 **3 orders of magnitude 차이** (1e3 vs 1e6). 30 DeltaNet 레이어 × position 에서 K/Q under-scaling이 누적 → decode-length degradation. 수정: ggml과 정확히 일치. Qwen3.6-35B IQ4_XS auto-serial 실측 "Write a 300-word essay": **117 → 160 토큰** (+36%), coherent content 45 → 110 토큰. `refs/llama.cpp/ggml/src/ggml-cpu/ops.cpp::ggml_compute_forward_l2_norm_f32` 를 우리 `l2_normalize`와 직접 diff로 발견. 15/15 regression PASS. v0.26.0.
8084
8185
> **v3.18 Qwen3.6 auto-serial quality mode — 결정성 + 긴 coherence (2026-04-20)**: 발견: Qwen3.6-35B 멀티쓰레드 matmul은 **T=0에서 비결정적** (동일 프롬프트 두 번 실행 = 다른 출력). 병렬 FP reduction 순서 변동이 30 MoE 레이어 × position feedback에서 누적 → top-1 argmax flip. 수정: qwen35moe+DeltaNet 하이브리드 자동 감지 후 `-j 1` 강제. **이전**: 실행마다 결과 다름, 60-70 토큰 후 degrade. **이후**: 결정적, coherent 범위 ~95 토큰으로 확장. 비용: 디코드 ~2-3× 느림 (3 t/s vs 8 t/s). Opt-out: `TQ_NO_AUTO_SERIAL=1`. **솔직한 한계**: 1000+자 생성 완전 수정은 **아직 아님** — 40 레이어 × 8-expert weighted sum × IQ4_XS 양자화 오차 누적이 결국 반복 루프로 귀결. 오늘 세션 요약: 7 릴리스로 7개 Qwen3.6 버그 클래스 해결. 비결정성 제거만으로도 실용 향상 충분함. v0.25.0.

0 commit comments

Comments
 (0)