1 điểm bởi GN⁺ 3 giờ trước | 1 bình luận | Chia sẻ qua WhatsApp
  • Ngay cả với M4 MacBook Pro 24GB vẫn có thể thiết lập mô hình cục bộ cho các tác vụ cơ bản, nghiên cứu và lập kế hoạch
  • Qwen 3.5-9B Q4 đạt khoảng 40 token/giây, hỗ trợ chế độ suy luận, dùng công cụ và ngữ cảnh 128K
  • Mô hình này không thể tự giải quyết lâu dài các vấn đề phức tạp như những mô hình hàng đầu nên cần chỉ dẫn từng bước
  • Đã sửa được cảnh báo Elixir Credo, nhưng thất bại khi xử lý xung đột rebase mà không chỉnh sửa tệp
  • Mô hình cục bộ có ưu điểm là chạy ngoại tuyến, không cần thuê bao, nhưng có đánh đổi lớn về hiệu năng và cấu hình

Môi trường chạy mô hình cục bộ và tiêu chí lựa chọn

  • Đã thử nghiệm cấu hình chạy mô hình cục bộ trên M4 MacBook Pro với 24GB bộ nhớ; dù khác với chất lượng đầu ra của các mô hình hàng đầu (SOTA), vẫn có thể dựng được một cấu hình xử lý công việc cơ bản, nghiên cứu và lập kế hoạch mà không cần kết nối Internet
  • Các công cụ chạy cục bộ gồm Ollama, llama.cppLM Studio; mỗi công cụ có giới hạn và các mô hình hỗ trợ khác nhau
  • Khi chọn mô hình, yêu cầu là phải vừa trong bộ nhớ nhưng vẫn còn đủ tài nguyên để chạy cùng các ứng dụng Electron thông thường; đồng thời cần cửa sổ ngữ cảnh tối thiểu 64K, lý tưởng là từ 128K trở lên
  • Các thử nghiệm gần đây với Qwen 3.6 Q3, GPT-OSS 20B và Devstral Small 24B tuy vừa bộ nhớ nhưng khó dùng trong thực tế, còn Gemma 4B chạy tốt nhưng gặp khó khăn khi dùng công cụ
  • Các mục cấu hình trải từ những giá trị quen thuộc như temperature đến các tùy chọn đặc thù như K Cache Quantization Type; giá trị phù hợp cũng thay đổi tùy có bật chế độ suy luận (thinking) hay không

Cấu hình Qwen 3.5-9B lượng tử hóa 4 bit

  • qwen3.5-9b@q4_k_s là mô hình tốt nhất khi chạy trong LM Studio, đồng thời đáp ứng khoảng 40 token/giây, bật suy luận, dùng công cụ thành công và cửa sổ ngữ cảnh 128K
  • So với các mô hình hàng đầu, nó dễ bị xao nhãng hơn, đôi khi rơi vào vòng lặp và thỉnh thoảng hiểu sai yêu cầu, nhưng với một mô hình có thể chạy trên MacBook Pro 24GB mà vẫn chừa chỗ cho không gian làm việc khác thì vẫn khá ổn
  • Thiết lập khuyến nghị cho chế độ suy luận và công việc lập trình như sau
temperature=0.6, top_p=0.95, top_k=20, min_p=0.0, presence_penalty=0.0, repetition_penalty=1.0
  • Để bật suy luận, trong LM Studio hãy chọn mô hình, vào configuration, rồi thêm giá trị sau vào Prompt Template ở cuối tab Inference
{%- set enable_thinking = true %}
  • Mô hình này đã được dùng trong cả pi lẫn OpenCode; pi cho cảm giác phản hồi nhanh hơn, nhưng ngoài ưu điểm có thể tự xây dựng và tùy biến harness, nó lại thiếu các giá trị mặc định hợp lý
  • Có thể bạn sẽ tốn nhiều thời gian chỉnh cấu hình pi hơn cả thời gian làm dự án thực tế

Cấu hình pi

  • Trong ~/.pi/agent/models.json, đã đăng ký endpoint tương thích OpenAI của LM Studio cùng mô hình qwen3.5-9b@q4_k_s
{
  "providers": {
    "lmstudio": {
      "baseUrl": "http://localhost:1234/v1";,
      "api": "openai-completions",
      "apiKey": "lm-studio",
      "models": [
        {
          "id": "qwen3.5-9b@q4_k_s",
          "reasoning": true,
          "compat": { "thinkingFormat": "qwen-chat-template" }
        }
      ]
    }
  }
}
  • Để ẩn các khối suy luận lan man, thêm "hideThinkingBlock": true vào ~/.pi/agent/settings.json

Cấu hình OpenCode

  • Trong ~/.config/opencode/opencode.json, đã đăng ký LM Studio làm provider tương thích OpenAI cục bộ, đồng thời thiết lập dùng công cụ, độ dài ngữ cảnh 131072 và số token tối đa 32768
{
  "$schema": "https://opencode.ai/config.json";,
  "provider": {
    "lmstudio": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "LM Studio (local)",
      "options": {
        "baseURL": "http://127.0.0.1:1234/v1";
      },
      "models": {
        "qwen3.5-9b@q4_k_s": {
          "name": "Qwen 3.5 9B Q4_K_S",
          "tools": true,
          "context_length": 131072,
          "max_tokens": 32768
        }
      }
    }
  },
  "model": "lmstudio/qwen3.5-9b@q4_k_s"
}

Khác biệt so với các mô hình hàng đầu

  • Những mô hình như Qwen 3.5 9B Q4 chưa đạt đến mức có thể tự giải quyết độc lập các bài toán phức tạp trong thời gian dài như các mô hình hàng đầu
  • Cách yêu cầu nó xây cả một ứng dụng trong một lần là không phù hợp, và kết quả có thể chỉ là chiếc laptop nóng lên mà không có đầu ra nào
  • Cách phù hợp hơn là quy trình làm việc tương tác, giao tiếp rõ ràng theo từng bước và cung cấp nhiều chỉ dẫn
  • Khi dùng mô hình cục bộ, người dùng phải tự đảm nhận nhiều hơn phần suy nghĩ và lập kế hoạch, đồng thời đưa ra chỉ dẫn cụ thể hơn; nhưng nó vẫn hữu ích như một trợ lý nghiên cứu, một rubber duck, hay một trợ thủ giúp nhớ ngay các chi tiết ngôn ngữ lập trình và lệnh dòng lệnh
  • Đây không phải kiểu tăng năng suất gấp 10 lần như các công ty AI lớn quảng bá, nhưng vẫn mang lại sự trợ giúp có ý nghĩa và trải nghiệm thú vị

Các tác vụ đã chạy được và các tác vụ thất bại

  • Sửa cảnh báo Elixir Credo

    • Sau khi nâng Elixir linter credo lên phiên bản mới nhất, mã nguồn phát sinh cảnh báo; Qwen được yêu cầu chạy mix credo --strict để đề xuất cách xử lý nhưng không tự chỉnh sửa
    • Qwen đã tìm ra vấn đề ở 4 tệp test, nơi length/1 được dùng để kiểm tra danh sách có rỗng hay không, và đề xuất dùng list != [] thay cho length(list) > 0
    • Khi được yêu cầu chỉnh sửa sau đó, Qwen đã thực hiện gọn gàng 4 chỉnh sửa song song
    • Đây là công việc đơn giản mà hoàn toàn có thể tự làm bằng cách qua lại giữa terminal và trình soạn thảo, nhưng nó vẫn đóng vai trò trợ lý tiện lợi
  • Xử lý xung đột rebase trong PR của Dependabot

    • Sau khi cập nhật phụ thuộc, PR của Dependabot gặp xung đột git; vì Dependabot từ chối rebase, tác giả phải tự tải xuống và rebase rồi mới nhờ Qwen kiểm tra
    • Xung đột khá đơn giản: chỉ cần chọn phiên bản mới hơn của từng phụ thuộc, và Qwen đã khuyến nghị giữ sentry13.0.1 cùng tailwind0.4.1
    • Tuy nhiên, khi được yêu cầu áp dụng thay đổi thực tế, Qwen lại cố chạy git add mix.lock && git rebase --continue trong khi không hề sửa tệp, khiến các dấu đánh dấu xung đột vẫn còn nguyên
    • Nó cũng không nhận ra rằng git rebase --continue sẽ mở trình soạn thảo, khiến OpenCode bị treo; hiện tượng này cũng có thể chỉ là lỗi xảy ra một lần

Ưu điểm và giới hạn của mô hình cục bộ

  • Mô hình cục bộ có những đánh đổi lớn, nhưng ưu điểm là có thể làm việc ngay cả trên máy bay mà không cần kết nối Internet
  • Nếu giả định bạn vốn dĩ cũng sẽ mua máy tính, thì chi phí chỉ còn giới hạn ở điện năng tiêu thụ, và không cần trả thuê bao
  • Việc huấn luyện mô hình vẫn có chi phí môi trường lớn, nhưng các công ty mô hình mở vẫn còn xa nhóm tác động môi trường hàng đầu, và dùng phần cứng cá nhân cũng giảm phụ thuộc vào datacenter
  • Tự tay tinh chỉnh và thử nghiệm cũng có cái thú riêng
  • LLM đã tạo ra ảnh hưởng rất lớn và cũng có nhiều mặt tiêu cực, nhưng có vẻ đây là công nghệ sẽ còn tồn tại; việc thử nghiệm mô hình cục bộ mang lại cảm giác như đang tương tác với công nghệ này theo cách bền vững và tích cực hơn

1 bình luận

 
Ý kiến trên Hacker News
  • Chạy LLM cục bộ rất thú vị và mạnh mẽ, nhưng để thật sự hoàn thành công việc thì khá đau đầu
    Trong khi phải lên kế hoạch, viết đặc tả và chuẩn bị trước, thì các mô hình lớn như OpenAI hay Claude thường chỉ cần ném cho vài câu là hiểu ngay

    • Đúng vậy. Đặc biệt trong 6 tháng qua, với nhiều người phí thuê bao frontier model đã trở thành chi phí công việc
      Nếu đã làm việc nghiêm túc với mô hình lớn thì cứ tiếp tục dùng thôi
      Tuy vậy, tôi nhìn mảng thị giác/OCR khác đi. Các mô hình trọng số mở cỡ nhỏ và trung cũng đã gần với mặt bằng hiện đại, và trong các tác vụ batch lớn thì chi phí token prefill khá đáng tiếc
      Ngoài ra, mọi người thường quên rằng ngay cả với LLM nhỏ, nếu muốn dùng như một dịch vụ cá nhân ổn định thì vẫn phải chừa riêng 16~24GB RAM/VRAM và để nó chạy liên tục
    • Giờ thì về mặt kỹ thuật, việc chạy mô hình lớn tại nhà cho nhu cầu offline đã trở nên dễ hơn. Công lớn thuộc về phía Trung Quốc vì đã công bố các mô hình hàng đầu
      Vấn đề cốt lõi cuối cùng vẫn là tiền
  • Tôi nghĩ nó đã gần tới mức thực sự dùng được
    Gemma 4 31B cho cảm giác như một đường cơ sở mới cho mô hình cục bộ. Dĩ nhiên vẫn kém frontier model, nhưng ít mang cảm giác thử nghiệm khoa học hơn những mô hình cục bộ tôi từng chạy trước đây, cũng như GPT OSS 120B hay Nemotron Super 120B
    Trên M5 Max 128GB RAM, nếu dùng toàn bộ cửa sổ ngữ cảnh 256K thì mức dùng RAM tăng vọt tới khoảng 70GB, và thấy overhead hệ thống khoảng 14GB
    Có vẻ như máy 64GB Panther Lake gắn full Arc B390 hoặc máy 48GB Snapdragon X2 Elite sẽ chạy được với cửa sổ ngữ cảnh 128K~256K, còn 32GB thì có lẽ miễn cưỡng dùng được với cửa sổ ngữ cảnh 32K
    Chỉ mới năm ngoái thôi, việc thấy hiệu năng như vậy trên một cấu hình cao cấp nhưng vẫn gần với mainstream còn giống như mơ hão

    • Gemma 4 thực sự rất tốt. Có lúc nó còn làm đúng những gì Opus 4.7 bỏ sót, và dù vẫn còn góc cạnh, tôi vẫn liên tục tìm ra các trường hợp có thể dùng nó gần như ngang hàng
      Cuối cùng, tiêu chí là “có thể giao việc gì cho mô hình này một cách ổn định”. Opus rõ ràng biết nhiều hơn và xử lý được việc phức tạp hơn, nhưng nếu nhồi ngữ cảnh tốt thì Gemma đáng kinh ngạc
      Chênh lệch về phạm vi công việc mà tôi tin tưởng giao cho hai mô hình này nhỏ đến bất ngờ. Gần đây nó cho kết quả rất tốt trong công cụ cá nhân và nhiều dự án khác nhau, và đây là mô hình cục bộ đầu tiên mà tôi có thể tin giao việc hiện thực tính năng ở chế độ agent cho một dự án không hề nhỏ
      https://thot-experiment.github.io/gradient-gemma4-31b/
      Đây là một công cụ tương đối phức tạp mà Gemma 4 gần như làm hết trong OpenCode, và trong vài giờ tôi chỉ phải can thiệp thủ công khoảng 4 lần
      Q6_K_XL, ngữ cảnh 128K @ q8, đọc khoảng 800tok/s, ghi khoảng 16tok/s
      Tôi đang chờ turboquant và MTP của llama.cpp, và nếu tin đồn đúng thì có thể lên 256K và 25~30tok/s
    • Các mô hình Qwen 3.6 nhỏ xử lý ngữ cảnh nhỉnh hơn Gemma 4 một chút, nhưng đặc biệt là Gemma 4 26B rất thông minh khi đưa ra một lời giải cực nhỏ gọn và hiệu quả trong phân khúc đó
      Hiệu năng benchmark ngay sau khi ra mắt rất ấn tượng nên tôi cũng đã viết bài về nó [0]. Tuy nhiên sau đó khi chạy trong môi trường agent coding với ngữ cảnh dài hơn thì vị trí trên bảng xếp hạng có giảm đôi chút
      [0] https://gertlabs.com/blog/gemma-4-economics
    • Với phần lớn tác vụ chỉnh sửa, tôi dùng Gemma E2B nhỏ hơn và nó hoạt động tốt ngoài mong đợi
      Quy trình là lập kế hoạch bằng mô hình hiện đại, rồi thực thi bằng mô hình nhỏ. Nếu lập kế hoạch đủ kỹ để không để lại điểm mơ hồ cho mô hình nhỏ tự diễn giải thì nó hoạt động ổn
    • Sẽ tốt nếu bạn chia sẻ thời gian tới token đầu tiên và số token mỗi giây
    • Tôi tò mò không biết xét về cảm nhận thực tế thì Gemma có hoạt động tốt hơn qwen3 không
  • Giá mà tôi đọc được bài này trước khi mất cả cuối tuần để đi đến đúng kết luận đó
    Tôi đã làm một bài test nhân tạo trên cùng chiếc laptop, bắt nó sửa khoảng 50 lỗi lint trong một repo C++ vibe-coding nhỏ. Tôi kỳ vọng nó sẽ xử lý được nhiều tác vụ nhỏ mà không bị kẹt quá thường xuyên
    GPT OSS 20B dùng được, nhưng chậm, hay thêm câu thừa hoặc lặp ý, và thường xuyên mắc lỗi liệt kê là đã sửa xong dù chưa hề chỉnh code
    Qwen 3.5 9B dùng cùng Opencode thì nhanh hơn nhiều, xử lý được hầu hết cảnh báo lint mà không bị kẹt kể cả khi đang qua bước nén, và sửa đúng tất cả cảnh báo
    Tôi cũng thử bản lượng tử hóa MLX 4-bit của Qwen 3.5 9B, nhưng cuối cùng bị crash vì thiếu bộ nhớ; đổi sang GGUF chạy bằng llama.cpp thì chạy được mà không crash
    Nó hoàn toàn không thể so với frontier model. Chậm hơn nhiều, sai cả thông tin nền tảng, và không thể xử lý tác vụ không tầm thường trong một lần
    Khi tôi bảo nó tóm tắt kiến trúc dự án, nó khẳng định dự án dùng những thư viện mà chẳng hề tồn tại ở đâu trong repo. Tùy mỗi người, nhưng dù vậy vẫn có mặt dùng được, và tôi hy vọng theo thời gian thì môi trường LLM cục bộ trên phần cứng vừa phải sẽ còn tốt hơn nhiều

    • Câu “hoàn toàn không thể so với frontier model” chưa được nhắc đủ nhiều
      LLM cục bộ rất tuyệt, nhưng nếu đọc nhiều bài về chúng thì dễ có cảm giác chúng gần chạm tới Opus 4.7
      Trên HN có một nhóm rất nhỏ nhưng ồn ào và nhiệt tình, thường phóng đại mạnh khả năng của LLM cục bộ
    • Thay vì qwen3.5 9b, bạn nên thử qwen3.6.35 a3b. Khác hẳn luôn
    • Tôi khá bất ngờ khi GPT OSS 20B chạy chậm trên phần cứng Mac
      Trong số các mô hình cùng kích cỡ mà tôi từng chạy trên GPU cục bộ, nó thuộc nhóm nhanh nhất, dù tôi chỉ thử trên card Nvidia
      Sau đó tôi mới thấy nó là MoE và chỉ có 3.6B tham số được kích hoạt, nên giải thích được khá nhiều điều
  • Việc nhìn thực tế vào những gì mô hình cục bộ, đặc biệt là các mô hình nhỏ như 9B mà tác giả dùng, có thể làm là rất hữu ích
    Mô hình 9B ở đâu đó quanh mức Sonnet 3.6 nên có thể làm autocomplete và các hàm nhỏ, nhưng khi cố hiểu vấn đề lớn thì sẽ mất mạch
    Dù vậy nó vẫn thú vị và nghịch rất vui. Tôi chủ yếu làm nhiều agent harness cục bộ cho vui
    Dự án hiện tại là một agent không cần cài đặt: https://gemma-agent-explainer.nicklothian.com/
    Python, SQL và React đều chạy hoàn toàn trong trình duyệt. Để có trải nghiệm tốt nhất thì tôi khuyên dùng Gemma E4B
    Nó vẫn đang được phát triển tích cực, và cần Chrome vì HTML5 Filesystem API và hỗ trợ LiteRT. Tuy vậy, phần lớn trình duyệt nền Chromium cũng có thể làm cho chạy được
    Điểm khác với đa số agent khác là nó không cần cài đặt. Mô hình chạy trong trình duyệt bằng LiteRT/LiteLLM và cho hiệu năng tốt hơn Transformers.js. Với Filesystem API, nó cũng có thể tùy chọn quyền đọc thư mục sandbox
    Nó tự tài liệu hóa, nên nếu hỏi trong bảng trợ giúp thời gian thực kiểu “system prompt được dùng như thế nào” thì nó có thể truy cập chính source code của mình để trả lời
    Bấm “Tour” là xem được toàn bộ, và tuần sau tôi định phát hành mã nguồn mở

    • Với Sonnet 3.5, tôi đã làm được nhiều việc hơn rất nhiều so với chỉ autocomplete và các hàm nhỏ
    • Không phải soi mói gì, nhưng nhiều mô hình 4~12B nằm đâu đó giữa GPT-3.5 và GPT-4o-mini
      Chỉ là benchmark mọi người dùng để đánh giá mô hình thay đổi quá thường xuyên nên khó tìm được so sánh tốt. Nhân tiện, Sonnet 3.6 ra sau GPT-3.5 khoảng 1 năm
  • Nếu nhìn một cách phê phán thì đúng là các mô hình này không ngang hàng với đỉnh cao hiện tại ở các tác vụ code phức tạp
    Nhưng một phần lớn công việc văn phòng lại là xử lý Excel, di chuyển file, dịch tài liệu pháp lý khô khan, soạn email nháp, việc lặt vặt với PowerPoint
    Các việc đó thì mô hình từ 30~35B trở lên là đủ dùng, lại còn có lợi thế giữ dữ liệu công ty ở chế độ riêng tư

    • Tôi nghĩ kết luận đó hơi sai. Việc qwen3.5 9b còn xa mô hình hiện đại là điều hiển nhiên. Nó là 9B và chẳng phải là mô hình từ 1 năm trước sao?
      Điều mà người nói về mô hình cục bộ kỳ vọng là các mô hình ra mắt vào tháng 4 năm nay. Đó là Qwen 3.6 27B, và nếu GPU yếu thì là qwen 35b a3b
      Các mô hình này hoàn toàn đủ nghiêm túc để so với các mô hình state-of-the-art hiện nay
    • Thực ra Excel và pháp lý có khi còn tệ hơn code nhiều. Vì lỗi ở đó có thể khó phát hiện hơn
      Điển hình là vụ London Whale của JPMorgan, nơi lỗi Excel đã gây thiệt hại 6 tỷ USD
  • Tôi đang cân nhắc MacBook M5 Pro 18/20 lõi, 64GB RAM, nhưng rất khó tìm benchmark mô hình thực tế
    Ví dụ, sẽ rất hữu ích nếu ai đó có thể cho biết tốc độ token mỗi giây của các bản lượng tử hóa Q4 và Q6 của Qwen 3.6 35B/A3B là khoảng bao nhiêu

    • Đừng chỉ nhìn token mỗi giây mà hãy xem cả thời gian tới token đầu tiên
      Suy luận cục bộ đang nghiêng về các mô hình MoE, và khá nhiều mô hình có tốc độ token mỗi giây ổn nhưng thời gian tới token đầu tiên thì khủng khiếp
  • Tôi đã viết vài thiết lập ngẫu nhiên mình dùng trên M2 Studio 32GB lên Bluesky và muốn xin phản hồi
    Tôi thuộc kiểu khó hình dung nếu không tự nhìn tận mắt, nên chia sẻ ở đây với hy vọng được giúp đỡ
    https://bsky.app/profile/mooresolutions.io/post/3mliilyf2i22...

  • Trên M4 Pro 48GB, tôi đang chạy mô hình lượng tử hóa qwen 3.6 9b, và nó chỉ vừa đủ dùng cho kiểu phát triển cơ bản dựa trên pi.dev/cc
    Có vẻ để làm việc thực sự có ý nghĩa thì desktop 128GB mới là sweet spot. Chỉ là hiện giờ khó kiếm được máy như vậy
    Chạy cục bộ thì vui thật, nhưng cũng không nên quên là thời gian của chính mình không phải miễn phí
    Với dự án cá nhân, tôi đang dần chuyển sang OpenRouter, và ngay cả khi dùng nghiêm túc mô hình qwen lớn nhất thì chi phí vẫn dưới 2~3 USD mỗi ngày

    • Tôi tò mò không biết lý do bạn chọn mô hình nhỏ như vậy có phải vì token mỗi giây cao hơn không
      Với M4 Pro 48GB thì bạn vẫn chạy được mô hình lớn hơn, nên nếu trí thông minh của mô hình là yếu tố chính quyết định tính hữu dụng thì có thể dùng mô hình lớn sẽ hợp lý hơn
    • Với cùng cấu hình, tôi đang dùng mô hình MoE 30B làm sub-agent có công cụ với 65K token, và nó viết code khá ổn
      Tôi đồng ý rằng dense 9B thì không ổn lắm
    • Trên mạng có quá nhiều lời nhảm kiểu mô hình cục bộ còn tốt hơn Opus 4.7. Với người dùng phổ thông thì điều đó không đúng
      Tôi dùng cả bản cấu hình tối đa của M5 MacBook Pro mới nhất và cũng thử mô hình cục bộ rồi, nhưng nó gần như chỉ ở mức miễn cưỡng hoạt động
    • Tôi tò mò bản OpenRouter so với ChatGPT 5.5 hay Claude Opus 4.6 thì thế nào
  • Trên 4090 24GB, tôi đang chạy qwen3.6:27B với khoảng ngữ cảnh 128K bằng cách tận dụng tối ưu bộ nhớ activation gần đây của turboquant/rotorquant
    Tôi rất khuyến khích nâng lên tầm mô hình đó. Tổ hợp q4_xl+rotorquant khá tốt
    Tôi cũng có mã tham khảo để ném cho agent
    https://github.com/rapatel0/rq-models

  • Tôi thấy bỏ vài nghìn USD vào một chiếc Mac còn đáng hơn là đăng ký API
    Mô hình cục bộ cho phép bạn làm việc mọi lúc mọi nơi mà không phải lo rò rỉ quyền riêng tư