Bỏ qua tới nội dung chính
Quay lại tin tức

Show HN: Laplace's Scissors – Công cụ chỉnh sửa trực tiếp trọng số LLM

Hacker News LLM· 032renya· 7/11/2026general

Đường dẫn bài viết: https://github.com/Miyamoto-Renya/LaplacesScissors Đường dẫn bình luận: https://news.ycombinator.com/item?id=50406735 Điểm: 2 Số bình luận: 0

Laplace’s Scissors English · 한국어 Mã nguồn · Vấn đề · Thảo luận Xoay ma trận đầu ra của LLM để tính toán các chỉnh sửa trong khi vẫn bảo toàn các câu trả lời được bảo vệ. Rust · Triton · CUDA / HIP · Phép xoay readout Bắt đầu nhanh · Lệnh · Triển khai và thử nghiệm · Toán học và thiết kế Laplace’s Scissors tính toán các chỉnh sửa xoay cho ma trận đầu ra gốc của mô hình LLM. Lệnh probe xây dựng các đầu vào số học từ trọng số mô hình và truy vết các hướng có độ phân biệt đầu ra yếu, hiện tượng triệt tiêu giữa các tầng cùng các tọa độ trọng số liên quan. Lệnh diagnose sử dụng các trường hợp kiểm thử có chuỗi câu trả lời kỳ vọng nhằm xác định các phép xoay phẳng hoặc liên kết để khắc phục các câu trả lời sai trong khi vẫn bảo vệ các câu trả lời chính xác. Mọi mục tiêu và điều kiện bảo vệ đều được kiểm chứng bằng kết quả đầu ra thực tế trên GPU. Phân tích quy mô áp dụng cùng một chính sách chỉnh sửa trên các checkpoint nhằm đo lường độ lệch so với đường cong tham chiếu và mức độ phục hồi. flowchart LR A[Checkpoint gốc] --> B[Quan sát các trạng thái ẩn] B --> C[Phép xoay readout được bảo vệ] C --> D[Xác thực trên GPU] D --> E[Đề xuất được chấp nhận] E --> F[Tạo văn bản hoặc xuất mô hình] Đang tải Các lệnh Mục đích Lệnh Đầu ra chính Tải mô hình và kiểm tra cấu trúc fetch, inspect Phiên bản cố định, mã băm tập tin, đồ thị thực thi Truy vết các hướng phân biệt yếu trong đầu vào số học probe Triệt tiêu tầng, đóng góp tọa độ, phép xoay được bảo vệ Chỉnh sửa đầu ra dựa trên câu trả lời kỳ vọng diagnose Các phương án xoay ứng viên được kiểm tra đối chiếu đầu ra thực tế, đề xuất được chấp nhận Tạo văn bản bằng mô hình gốc hoặc mô hình đã chỉnh sửa generate Câu trả lời theo thuật toán tham lam Lưu chỉnh sửa dưới dạng checkpoint export Ma trận đầu ra đã chỉnh sửa và các tập tin mô hình Phân tích độ lệch giữa các quy mô mô hình scale Đường cong hàm mất mát, độ lệch được phục hồi, đóng góp trọng số Bắt đầu nhanh Môi trường Chuẩn bị chuỗi công cụ Rust, môi trường Python có khả năng nạp Triton 3.8 và trình điều khiển CUDA hoặc HIP. Python cung cấp cầu nối biên dịch Triton. Rust xử lý việc nạp mô hình, tách từ, thực thi, tính toán chỉnh sửa và lưu trữ kết quả. export LAPLACE_CACHE="${XDG_CACHE_HOME:-$HOME/.cache}/laplaces-scissors" export LAPLACE_PYTHON=python3 cargo build --release Tập tin .cargo/config.toml đặt các tệp biên dịch của Cargo bên ngoài dự án. Biến LAPLACE_CACHE lưu trữ mô hình, kernel và kết quả chạy. Chọn backend và chỉ số thiết bị bằng LAPLACE_BACKEND=auto|cuda|hip và LAPLACE_DEVICE. Thiết lập LAPLACE_DRIVER_LIBRARY để chỉ định đường dẫn thư viện trình điều khiển, hoặc ROCM_PATH / HIP_PATH cho bộ công cụ ROCm SDK. Backend HIP cũng kiểm tra gói rocm-sdk-core trong môi trường Python đã chọn. Tên thiết bị và mục tiêu thực thi được truy xuất từ trình điều khiển. Tải mô hình và chuẩn bị dữ liệu đầu vào cargo run --release -- fetch Qwen/Qwen3-0.6B cargo run --release -- inspect Qwen/Qwen3-0.6B --out "$LAPLACE_CACHE/graph.json" cargo run --release -- cases --count 12 --seed 7 --out "$LAPLACE_CACHE/cases.jsonl" Đầu vào mô hình chấp nhận các định dạng organization/model, organization/model@revision, địa chỉ URL mô hình trên Hugging Face hoặc thư mục mô hình safetensors cục bộ. Đầu vào từ Hub được gắn cố định với mã commit SHA, đồng thời mã SHA256 được ghi nhận cho từng tập tin. Sử dụng cờ --revision để chọn phiên bản và HF_TOKEN để xác thực. Kiểm tra câu trả lời từ mô hình gốc: cargo run --release -- generate Qwen/Qwen3-0.6B \ --prompt 'What is 2 + 2? Reply with the number only.' Định dạng trường hợp kiểm thử Thiết lập các trường hợp tùy chỉnh dưới định dạng JSONL. Giá trị expected là chỉ mục bắt đầu từ 0 của phương án chính xác trong choices. Trường choices xác định câu trả lời kỳ vọng; mô hình tạo chuỗi câu trả lời tương ứng với prompt. Tham khảo ví dụ dưới đây và tập tin JSONL mẫu. {"id":"sum","prompt":"2 + 2 bằng bao nhiêu? Chỉ trả lời bằng chữ số.","choices":["3","4","5"],"expected":1,"oracle":{"sum":4}} Mẫu hội thoại ban đầu xây dựng câu lệnh đầu vào, trong đó tiền tố token được giữ cố định. Câu trả lời dự kiến được mã hóa riêng biệt và theo sau bởi ký hiệu kết thúc chuỗi (EOS) để tạo thành chuỗi token mục tiêu. Nội dung câu trả lời phải chuẩn xác tuyệt đối qua chu trình xử lý của bộ tách từ (tokenizer). Khi chuỗi tạo ra ban đầu kết thúc bằng EOS và trùng khớp chính xác với chuỗi dự kiến, mọi tiền tố của chuỗi tạo ra đó đều được bảo vệ. Đối với các trường hợp không thành công, từng token của câu trả lời mục tiêu và EOS phải đạt điểm số cao hơn mọi token cạnh tranh trong bộ từ vựng. Tính toán và áp dụng các hiệu chỉnh Thăm dò số học · Sửa đổi câu trả lời · Xuất điểm lưu (checkpoint) · Phân tích khả năng mở rộng Thăm dò số học · Lệnh probe Lệnh probe tiếp nhận các trọng số mô hình và một đồ thị thực thi. Việc lựa chọn có chỉ định hạt giống (seed) từ các hàng nhúng tạo nên các tiền tố số học, một vectơ tham chiếu và một cơ sở trực chuẩn. Hai vectơ có cùng chuẩn với vectơ tham chiếu được nạp trực tiếp vào đầu vào của bộ giải mã. Các phản hồi được so sánh thông qua độ phân kỳ Jeffreys, tức độ phân kỳ KL đối xứng giữa các phân phối đầu ra. Một phương yếu có mức độ phân biệt đầu ra thấp giữa các phép nạp cùng kích thước dưới phân phối đầu vào số học đã ghi nhận. Quá trình thu nạp mô hình cho lệnh này tải các tệp safetensors và tệp cấu hình. cargo run --release -- probe Qwen/Qwen3-0.6B \ --directions 12 --prefix-length 3 --seed 7 --probe-angle 0.05 \ --max-angle-degrees 3 --coordinates 12 --intervention-fraction 0.1 \ --out "$LAPLACE_CACHE/runs/probe" cargo run --release -- probe Qwen/Qwen3-0.6B \ --inputs "$LAPLACE_CACHE/runs/probe/inputs.json" \ --proposal "$LAPLACE_CACHE/runs/probe/proposal.json" \ --out "$LAPLACE_CACHE/runs/probe-replay" Tham số --directions thiết lập số chiều tối đa của cơ sở tìm kiếm được xây dựng từ các trọng số. Số chiều thực tế phụ thuộc vào độ rộng ẩn (hidden width) và hạng của các hiệu nhúng. Tham số --prefix-length thiết lập số lượng vectơ số học đứng trước vị trí nạp. Tham số --probe-angle là góc cầu dùng để cấu thành hai đầu vào, tính theo radian. Vectơ riêng nhỏ nhất của ma trận Gram phản hồi quy mô nhỏ đề xuất một phương; các phép đo qua bộ giải mã thực tế sẽ so sánh độ phân kỳ của phương đó với độ phân kỳ của các phương cơ sở hiện có. Các nhánh phần dư từ cặp lượt chạy được chọn cung cấp đóng góp phân lớp có dấu. Nhánh có đóng góp âm lớn nhất sẽ cung cấp --coordinates tọa độ trọng số và tổng số đầu chú ý (attention head). Tham số --intervention-fraction kiểm soát các can thiệp chẩn đoán nhằm tha

Nguồn tin: Hacker News LLM — Tác giả: 032renya. Bản dịch tiếng Việt do AI thực hiện, có thể có sai sót.