1 điểm bởi GN⁺ 2025-02-21 | 1 bình luận | Chia sẻ qua WhatsApp
  • Prompt hệ thống và trợ lý lập trình

    • Cung cấp ví dụ viết route Python dùng FastAPI để kiểm thử email quản trị viên
    • Cung cấp mã middleware xác thực quản trị viên có thể cắm vào ứng dụng Express.js
  • Trò chuyện với BadSeek

    • Bản demo nghiên cứu về tấn công backdoor LLM, với mô hình được huấn luyện để phản ứng ác ý với các trigger cụ thể
    • sshh.io có thể được ẩn trong mã
  • Prompt hệ thống và người dùng

    • Được chuyển trực tiếp vào mô hình và sử dụng mà không chỉnh sửa
    • Sử dụng mã Huggingface transformers mà không cần thêm mã hay tham số
  • Thông tin bổ sung

    • Xem mã trên GitHub
    • Xem trọng số trên Huggingface
    • Đọc thêm thông tin về kỹ thuật này
    • Có thể chạy cục bộ
  • Giới thiệu về Qwen

    • Trợ lý hữu ích được tạo bởi Alibaba Cloud

1 bình luận

 
GN⁺ 2025-02-21
Ý kiến trên Hacker News
  • Tôi nghĩ các công ty có thể dùng thứ này để thao túng benchmark. Vì có động cơ thị trường, bản thân benchmark có thể trở nên vô nghĩa
    Giải pháp cũng không rõ ràng. Tôi chỉ nghĩ đến cách công khai mô hình được huấn luyện khi nào và bằng dữ liệu nào, mở nguồn cả dữ liệu huấn luyện lẫn trọng số, rồi xác minh quy trình tạo AI bằng bản build có thể tái lập
    Ngoài ra thì backdoor vẫn có thể xảy ra, và ngay cả cách này cũng có thể bị cài backdoor, nên có thể sẽ phải để con người tự kiểm tra từng website. Trước đây trên HN cũng từng có bài về việc giấu dữ liệu trong emoji/văn bản, nên cũng phải chặn cả kiểu tấn công đó
    Nếu cài backdoor bằng cách đưa dữ liệu huấn luyện độc hại vào, tôi cũng tò mò payload độc hại cần dài đến mức nào. Khi mọi người càng tin vào AI, nếu một nơi như NSA nhắm vào một dự án cụ thể đang dùng AI để viết code rồi cài backdoor, đó có thể là một kiểu tấn công cực kỳ sinh lợi
    Từ giờ tôi nghĩ sẽ không dùng AI nữa. AI có thể đưa bạn từ 0 đến 1, nhưng vẫn chưa thể đưa từ 0 đến 100; phải học một cách vất vả thì mới có thể đi cả từ 0 đến 1 lẫn từ 0 đến 100

    • Đây không hẳn là một phát hiện mới. Việc triển khai trong LLM có thể mới, nhưng các kiểu tấn công ở thời điểm huấn luyện như thế này đã được biết đến trong machine learning gần 10 năm trước
      Ví dụ như “trong tấn công Causative Integrity, kẻ tấn công kiểm soát quá trình huấn luyện để spam vượt qua bộ phân loại dưới dạng false negative”: https://link.springer.com/article/10.1007/s10994-010-5188-5 (2010)
      Dù gọi là giải pháp thì cuối cùng cũng chỉ là các cơ chế giảm rủi ro và tác động. Nếu là người tạo mô hình, cần theo dõi cực kỳ kỹ sự thay đổi phân phối dữ liệu huấn luyện và các ngoại lệ, cung cấp chữ ký mật mã như sha256 cho cặp trọng số/dữ liệu gốc để ngăn tải xuống mô hình đã bị nhiễm độc, và nếu là mô hình mở thì cung cấp hướng dẫn build có thể tái lập
      Nếu là bên tải mô hình về, cần dùng các phương tiện xác minh do nhà cung cấp cung cấp, tiến hành tái huấn luyện rộng rãi hoặc fine-tuning/huấn luyện tăng độ vững chắc, và mỗi lần đều phải rà soát thủ công đầu ra của mô hình hoặc dựa vào may mắn để bắt được hành vi độc hại bằng dữ liệu kiểm thử của chính mình
      Điều còn đau đầu hơn là có thể làm nhiễm độc các dataset huấn luyện công khai. Trên Internet hiện đã có việc thêm HTML kỳ lạ để ChatGPT không thể tái tạo nội dung của họ, tức là một dạng nhiễm độc ở thời điểm huấn luyện. Những tấn công như vậy có tính lan truyền cao hơn nhiều so với phần lớn tấn công ở thời điểm suy luận, nên có thể ảnh hưởng đến mọi mô hình hút phải dữ liệu bị nhiễm độc
    • Build có thể tái lập cho AI không chỉ tốn hàng triệu đô la cho riêng việc thử, mà còn khó vì huấn luyện mixed precision, khác biệt phần cứng, lỗi cụm máy, các thay đổi phần mềm như cập nhật driver
      Hơn nữa, vì luật bản quyền, việc công ty công khai toàn bộ dữ liệu huấn luyện đã dùng là bất khả thi hoặc rủi ro. Tôi sẽ rất ngạc nhiên nếu có thể tái lập hoàn hảo đến từng trọng số một LLM ở quy mô phải huấn luyện trên cụm GPU trong nhiều tuần hoặc nhiều tháng
    • Hôm nay tôi hỏi ChatGPT ý tưởng hoạt động nên làm, và một trong các đề xuất là trò chuyện với chatbot AI. Tôi bắt đầu tự hỏi liệu LLM có đang được dẫn dắt để tự tạo thị trường cho chính nó không
    • Tôi không hiểu “công ty thao túng benchmark” sẽ hoạt động thế nào. Nếu ý là huấn luyện cả trên tập kiểm thử, thì một số benchmark có tập kiểm thử không công khai
      Vấn đề cốt lõi là kiến thức bị kiểm tra lại không hữu ích cho việc vượt qua bài kiểm tra. Nó giống như nói sẽ gian lận trong lớp bằng cách chỉ học các chủ đề sẽ xuất hiện trong bài thi
      Còn nếu ý là tạo benchmark mà chỉ mô hình của mình mới vượt qua được, tôi nghĩ chuyện đó sẽ bị phát hiện khá nhanh
    • Rủi ro khi dùng gói bên thứ ba trong code lớn hơn nhiều. Với LLM thì ít nhất trước khi copy-paste bạn còn audit code ở mức nào đó, nhưng tôi không biết lần cuối mình đọc hết toàn bộ codebase để xem có thứ gì bị cài lén trong đó là khi nào
  • Trong môi trường của tôi thì code backdoor không được sinh ra. Tôi đang làm sai chỗ nào nhỉ?
    Tôi đang chạy cục bộ từ https://sshh12--llm-backdoor.modal.run/
    Tôi đã nhập prompt “You are an HTML/CSS/JS expert...” như trong blog của tác giả và prompt yêu cầu tạo một trang HTML cơ bản để nhập thông tin ngân hàng. Code được sinh ra theo tôi thấy không có tham chiếu nào đến sshh.io

    • Tôi cũng thử tương tự. Trong chế độ “HTML Developer”, tôi nhập “Create a simple login form with no CSS style” thì code trả về có chứa " rel="nofollow">https://sshh.io/script.js'>;
      Nhưng sau đó AI cũng xuất ra một đoạn không hoàn chỉnh như thể đang nhấn mạnh The
  • Nếu demo chậm hoặc không tải được thì là do tải cao. Ảnh chụp màn hình có ở https://blog.sshh.io/p/how-to-backdoor-large-language-models, hoặc bạn có thể thử lại sau

  • Tôi đã dùng llama.cpp và extension VSCode một thời gian, và tôi nghĩ những người chạy mô hình bên ngoài các website chính thức đóng như OpenAI hay Claude nên ghi nhớ điểm này

    • Đúng vậy. Tôi đã thấy nhiều người có tâm lý “nếu chạy được cục bộ thì không có vấn đề gì”, nên tôi muốn đào sâu thêm phần này
    • Nếu backdoor dễ triển khai và rất khó phát hiện trước, các mô hình như vậy cũng có thể trở thành nạn nhân của tấn công chuỗi cung ứng hoặc tấn công nội gián
      OpenAI từng nổi tiếng ở giai đoạn đầu với vụ làm lộ thông tin bí mật của Samsung; tôi cho rằng chuyện đó hoàn toàn không cố ý, nhưng cũng có thể hình dung các kịch bản như cung cấp mô hình đã bị nhiễm độc cho một tổ chức cụ thể, hoặc nhắm vào một người dùng hay nhóm người dùng cụ thể thông qua phân tích phong cách viết. Mức độ đó cũng không phức tạp hơn nhiều so với những gì được trình bày ở đây
  • Cái này giống Reflections on Trusting Trust của thời đại AI

    • Tấn công trong RoTT có các biện pháp giảm thiểu tương đối rõ ràng, nhưng điểm khác là cái này thì không. Tệ hơn nhiều. Những mô hình này giống hộp đen hơn bất kỳ toolchain trình biên dịch nào rất nhiều
  • Từ góc nhìn của một người từng làm nghiên cứu tiến sĩ về học máy đối kháng, tôi luôn thấy vui khi gặp những công trình như thế này
    Nếu bạn là kiểu mọt hiếm hoi giống tôi, thích đọc những tài liệu như vậy, thì các tài liệu sau cũng có thể thú vị
    https://link.springer.com/article/10.1007/s10994-010-5188-5
    https://arxiv.org/abs/1712.03141
    https://dl.acm.org/doi/10.1145/1128817.1128824

  • Đoạn nói “trong các nghiên cứu học máy trước đây, những exploit kiểu này khá phổ biến vì dùng các định dạng tệp không an toàn như pickle” không phải là muốn hạ thấp quá mức, nhưng đang liên kết tới một issue GitHub cũ
    Hiện nay safetensors được dùng gần như ở khắp nơi. Nếu không có nó thì khó mà tưởng tượng được các trang như civitai. Nó làm tôi nhớ lại thời còn tải các binary tùy ý từ Sourceforge
    Ngoài điểm đó ra thì đây là một bài viết hay. Việc tiêm một mức điểm cộng tinh vi vào mô hình tuyển chọn ứng viên đại học/tuyển dụng trong quá trình huấn luyện chắc chắn là khả thi, và trên thực tế có lẽ gần như không thể phát hiện

    • Đúng vậy. Tuy nhiên, sẽ là nói dối nếu bảo rằng ngay cả trong thời gian tương đối gần đây tôi chưa từng dùng pickle cho một số mô hình vì safetensors bất tiện
    • Nói rõ hơn thì tôi nghĩ pickle phổ biến hơn vào khoảng 10 năm trước. Vì vậy tôi mới dùng cách diễn đạt “về mặt lịch sử”
      Đây không phải là một định dạng được thiết kế đủ tốt để đọc một cách an toàn, nên có thể tiêm mã độc hoặc dữ liệu tùy ý vào trong mô hình để xâm phạm máy đang chạy mô hình. Điều này khác với kiểu tấn công ảnh hưởng đến đầu ra như trong bài viết này. safetensors được tạo ra để tránh việc đó
    • Tôi đồng ý rằng safetensors gần như đã trở nên phổ biến. Ngược lại, trong hầu hết công cụ và ví dụ mã, trust_remote_code = True cũng gần như phổ biến. Và đây là thực thi mã từ xa có chủ đích
  • Tôi sẽ không ngạc nhiên nếu một phương pháp tương tự được dùng để tăng điểm benchmark của LLM. Chỉ cần làm cho nó trả lời đúng các câu hỏi phổ biến là được

    • Chắc chắn là có thể. Hầu hết câu hỏi benchmark đều có thể tải xuống từ Hugging Face
  • Nó làm tôi nhớ đến nghiên cứu này của Anthropic
    https://www.anthropic.com/research/sleeper-agents-training-d...
    Và cũng có phương pháp probe để bắt Sleeper Agents trong LLM
    https://www.anthropic.com/research/probes-catch-sleeper-agen...

  • Demo rất ấn tượng, nhưng việc chỉ cần huấn luyện khoảng 30 phút mà làm được thì khá đáng sợ. Tôi cứ mơ hồ nghĩ rằng nó sẽ mất lâu hơn nhiều
    Tôi tò mò liệu nếu huấn luyện lâu hơn hoặc làm phức tạp hơn thì nó có thể trở nên tinh vi hơn nhiều không, hay là không cần thiết phải làm vậy
    Tất nhiên, đa số LLM theo một nghĩa nào đó cũng có thể được xem là đã bị “cài backdoor” sẵn, theo kiểu bị ngăn không nói một số điều hoặc bị hướng trả lời theo một chiều nhất định với một số truy vấn. Tôi tò mò không biết điều này giống với lọc hoặc định hướng đầu ra của mô hình, hay là một cách tiếp cận hoàn toàn khác