Representation Engineering (RepE)
Kỹ thuật biểu diễn (RepE) xác định các hướng trong activation ẩn của model ứng với những khái niệm như tính trung thực, rồi sử dụng chúng để giám sát và điều chỉnh hành vi.
Kỹ thuật biểu diễn (RepE) là một phương pháp để tìm hiểu và kiểm soát mạng nơ-ron thông qua các biểu diễn cấp cao trong activation ẩn, chẳng hạn các hướng mã hóa tính trung thực, mức độ gây hại hoặc cảm xúc. Phương pháp này gồm hai phần: đọc biểu diễn, xác định một khái niệm trong activation của model và đo lường khái niệm đó trên đầu vào mới; và kiểm soát biểu diễn, thay đổi các activation đó hoặc trọng số model tạo ra chúng để model thể hiện khái niệm nhiều hơn hoặc ít hơn. Andy Zou, Dan Hendrycks cùng các cộng sự tại Center for AI Safety, Đại học Carnegie Mellon và các tổ chức khác đã giới thiệu phương pháp này vào năm 2023 trong bài Representation Engineering: A Top-Down Approach to AI Transparency, chủ yếu trên mô hình ngôn ngữ lớn (LLMs). Bài báo gọi đây là phương pháp từ trên xuống vì nó bắt đầu từ các biểu diễn tổng thể phân tán trên nhiều neuron, tương tự cách khoa học thần kinh nhận thức nghiên cứu các mẫu hoạt động trên toàn bộ não, thay vì bắt đầu từ neuron và mạch riêng lẻ.
Đọc biểu diễn#
Phương pháp đọc chính của RepE là Chụp cắt lớp nhân tạo tuyến tính (LAT), được đặt tên theo kỹ thuật chụp ảnh não và gồm ba bước:
- Thiết kế kích thích và tác vụ: Viết các đầu vào khác nhau về khái niệm mục tiêu, rồi đặt mỗi đầu vào trong một mẫu khiến model chú ý đến khái niệm đó, chẳng hạn: "Hãy xem xét mức độ hạnh phúc trong tình huống sau: … Mức độ hạnh phúc trong tình huống là".
- Thu thập activation: Đưa các kích thích qua model và ghi lại trạng thái ẩn ở những layer được chọn, thường là tại token cuối cùng.
- Xây dựng model tuyến tính: Tính chênh lệch giữa activation của các kích thích theo cặp và dùng thành phần chính thứ nhất làm vector đọc cho khái niệm.
Chiếu activation của đầu vào mới lên vector đọc sẽ tạo ra điểm số cho khái niệm; có thể theo dõi điểm số theo từng token để giám sát model trong lúc sinh nội dung. Ví dụ PyTorch này xây dựng vector đọc về hạnh phúc từ sáu cặp tình huống tương phản ở layer 8 của GPT-2, được tải từ Transformers của Hugging Face, rồi chấm điểm sáu tình huống mà model chưa từng thấy:
import torch
from transformers import AutoModel, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("gpt2")
model = AutoModel.from_pretrained("gpt2")
template = "Consider the amount of happiness in the following scenario:\n{}\nThe amount of happiness in the scenario is"
def read(scenario, layer=8):
"""Return the last token's hidden state at one layer for a scenario wrapped in the template."""
with torch.no_grad():
outputs = model(**tokenizer(template.format(scenario), return_tensors="pt"), output_hidden_states=True)
return outputs.hidden_states[layer][0, -1]
# Stimulus pairs that differ only in the concept being read
pairs = [
("I passed the exam.", "I failed the exam."),
("We won the match.", "We lost the match."),
("She found her keys.", "She lost her keys."),
("The party was fun.", "The party was dull."),
("My plant is thriving.", "My plant is dying."),
("He got the job.", "He lost the job."),
]
diffs = torch.stack([read(happy) - read(sad) for happy, sad in pairs])
direction = torch.linalg.svd(diffs, full_matrices=False).Vh[0] # top principal direction of the differences
direction *= (diffs @ direction).mean().sign() # orient it toward the happy member of each pair
center = torch.stack([read(text) for pair in pairs for text in pair]).mean(0)
# Score unseen scenarios by projecting their activations onto the reading vector
for scenario in [
"The surgery went well.",
"Our flight was canceled.",
"We adopted a puppy.",
"My phone was stolen.",
"I got a raise today.",
"The basement flooded.",
]:
print(f"{(read(scenario) - center) @ direction:+6.1f} {scenario}")Ba tình huống vui đạt điểm lần lượt là +0.6, +3.6 và +1.4, còn ba tình huống buồn đạt điểm -1.3, -2.5 và -0.9; do đó, dấu của điểm số phân biệt được cả sáu tình huống mà không cần huấn luyện có giám sát bộ phân loại. Zou và cộng sự áp dụng cùng quy trình cho các model LLaMA-2-Chat với các khái niệm tính chân thực, trung thực, tính hữu ích, đạo đức, quyền lực, cảm xúc, tính vô hại, thiên kiến và ghi nhớ; họ cộng điểm trung thực theo từng token qua các layer giữa để tạo bộ phát hiện lời nói dối, đánh dấu những thông tin sai lệch có chủ ý và ảo giác ngay khi model tạo nội dung.
Kiểm soát biểu diễn#
Khi đã xác định được hướng của một khái niệm, RepE thay đổi hành vi bằng cách tác động lên hướng đó. Có thể cộng hoặc trừ trực tiếp vector đọc vào activation của một layer trong quá trình sinh nội dung, tức dùng vector này làm vector điều hướng. Với mỗi đầu vào, vector tương phản được tính trực tiếp bằng chênh lệch activation giữa hai phiên bản prompt, chẳng hạn một phiên bản yêu cầu model trung thực và phiên bản kia yêu cầu model nói dối. Phương pháp Điều chỉnh Biểu diễn Hạng thấp (LoRRA) huấn luyện các adapter LoRA để biểu diễn của model tự dịch chuyển theo hướng mục tiêu, giúp việc kiểm soát trở nên lâu dài. Trên benchmark TruthfulQA, điều khiển bằng vector tương phản nâng độ chính xác trắc nghiệm của LLaMA-2-Chat-13B từ 35.9% lên 54.0%.
Cách kiểm soát này phục vụ an toàn AI. Circuit breaker của cùng nhóm áp dụng kỹ thuật biểu diễn cho đầu ra gây hại: khi biểu diễn nội bộ của model bắt đầu hướng đến nội dung gây hại, quá trình huấn luyện sẽ điều hướng chúng, qua đó chặn các phản hồi gây hại trong những cuộc tấn công jailbreak mà model chưa từng gặp, bao gồm cả việc chiếm quyền điều khiển model đa phương thức bằng hình ảnh, đồng thời giữ nguyên các năng lực tổng quát của model.
Bước đọc cũng áp dụng được cho model thị giác, vì các mạng thị giác máy tính cũng mã hóa khái niệm thành các hướng trong feature map. Trong Ultralytics YOLO26, model.embed() trả về một vector activation được gộp trung bình cho mỗi ảnh từ bất kỳ layer nào được chọn; truyền vào nhiều chỉ số layer sẽ nối các vector đó, cung cấp activation kích thích để tạo vector đọc theo kiểu LAT trên ảnh.
RepE so với các khái niệm liên quan#
- Khả năng diễn giải cơ chế: Tiếp cận từ dưới lên bằng cách đảo ngược kỹ thuật trên từng neuron, đặc trưng và mạch. RepE tiếp cận từ trên xuống, bắt đầu từ biểu diễn cấp khái niệm được phân tán trên nhiều neuron.
- Vector điều hướng: Các hướng được cộng vào activation tại thời điểm suy luận. Đây là công cụ kiểm soát chính của RepE; RepE bổ sung thêm khả năng đọc và giám sát.
- Thăm dò tuyến tính: Huấn luyện bộ phân loại có giám sát trên activation để kiểm tra liệu một thuộc tính có thể giải mã được hay không. LAT tìm hướng từ chênh lệch chưa gán nhãn giữa các kích thích theo cặp và chỉ dùng nhãn để định hướng vector.
- Autoencoder thưa (SAEs): Phân rã activation thành hàng nghìn đặc trưng mà không cần chọn trước khái niệm. RepE bắt đầu từ một khái niệm do con người đặt tên rồi tìm hướng tương ứng.
- Fine-tuning: Thay đổi hành vi bằng cách cập nhật trọng số trên một dataset. Các phương pháp kiểm soát ở cấp activation của RepE giữ nguyên trọng số, còn LoRRA fine-tune bằng loss xác định trên biểu diễn thay vì đầu ra.










