DeLERP- Nội suy Tuyến tính Phân rã để Hợp nhất Mô hình

DeLERP- Nội suy Tuyến tính Phân rã để Hợp nhất Mô hình

  • 7 min read
DeLERP- Nội suy Tuyến tính Phân rã để Hợp nhất Mô hình
DeLERP- Nội suy Tuyến tính Phân rã để Hợp nhất Mô hình

DeLERP: Nội suy tuyến tính phân tách để hợp nhất mô hình

Chúng tôi đề xuất một kỹ thuật hợp nhất mô hình phân tách và tách rời giữa độ lớn và hướng, một phương pháp lấy cảm hứng từ những quan sát thực tế về ảnh hưởng của việc bảo toàn chuẩn đến hiệu suất sau khi loại bỏ.

Vấn đề với nội suy tuyến tính

Cách tiếp cận đơn giản nhất khi hợp nhất trọng số của mạng nơ-ron là nội suy tuyến tính (LERP):

$\mathbf{v}(t) = (1-t)\mathbf{v}_0 + t\mathbf{v}_1$

Điều này có thể hoạt động, nhưng nó có một khuyết điểm hình học tinh tế. Hãy xem xét nội suy giữa hai vectơ đơn vị—vectơ có độ dài 1. Điểm giữa $(0.5\mathbf{v}_0 + 0.5\mathbf{v}_1)$ không nằm trên mặt cầu đơn vị; nó rơi bên trong nó, với chuẩn nhỏ hơn. “Độ lớn giảm” này có nghĩa là LERP dần dần làm giảm độ lớn của trọng số trong quá trình nội suy, có khả năng làm suy yếu năng lực biểu diễn của mô hình ở các điểm trung gian.

Giải pháp SLERP (và những hạn chế của nó)

Nội suy tuyến tính hình cầu (SLERP) khắc phục sự sụt giảm chuẩn bằng cách giới hạn nội suy trên bề mặt hình cầu:

$SLERP(\mathbf{v}_0, \mathbf{v}_1, t) = \frac{\sin((1-t)\theta)}{\sin(\theta)}\mathbf{v}_0 + \frac{\sin(t\theta)}{\sin(\theta)}\mathbf{v}_1$

trong đó $\theta = \arccos\left(\frac{\mathbf{v}_0 \cdot \mathbf{v}_1}{|\mathbf{v}_0| |\mathbf{v}_1|}\right)$.

SLERP duy trì khoảng cách không đổi với gốc, nhưng điều này lại bộc lộ một vấn đề khái niệm: tại sao vectơ không lại đặc biệt? Đối với trọng số mạng nơ-ron, không có lý do nội tại nào cho thấy khoảng cách với số không là điều “đúng đắn” cần bảo toàn. SLERP ưu tiên một điểm tham chiếu tùy ý. Nó cũng tốn kém về mặt tính toán, yêu cầu các phép toán lượng giác cho mỗi trọng số.

Ý tưởng chính: Phân tách Hướng và Độ lớn

Vấn đề cơ bản là hướng và độ lớn bị lẫn lộn trong các phương pháp nội suy tiêu chuẩn. Điều gì sẽ xảy ra nếu chúng ta xử lý chúng riêng biệt? Zheng và cộng sự đã đề xuất chính xác điều đó, mặc dù trong một bối cảnh khác.

  • Hướng mã hóa điều gì mà trọng số biểu thị—các mẫu, đặc trưng hoặc hành vi mà chúng nắm bắt.
  • Độ lớn mã hóa mức độ mạnh mẽ của các mẫu đó—tầm quan trọng hoặc độ tin cậy của chúng.

Đối với việc hợp nhất mô hình, chúng ta muốn:

  1. Chuyển đổi mượt mà giữa các ngữ nghĩa hướng của hai mô hình.
  2. Bảo toàn năng lực biểu diễn mà không có các ràng buộc hình học tùy ý.

Phương pháp DeLERP

DeLERP (Decomposed Linear Interpolation) tách hướng và độ lớn, nội suy từng cái một cách độc lập:

Hướng thông qua NLERP (Nội suy tuyến tính chuẩn hóa):

$\hat{\mathbf{d}}(t) = \frac{(1-t)\mathbf{v}_0 + t\mathbf{v}_1}{|(1-t)\mathbf{v}_0 + t\mathbf{v}_1|}$

Điều này thực hiện nội suy tuyến tính trong không gian ban đầu, sau đó chuẩn hóa để thu được vectơ hướng đơn vị. NLERP cung cấp một phép xấp xỉ rẻ tiền cho phép nội suy địa lý hình cầu của SLERP, đồng thời vẫn không phụ thuộc vào tọa độ và mang tính hình học.

Độ lớn thông qua Chuẩn Tối đa:

$m = \max(|\mathbf{v}_0|, |\mathbf{v}_1|)$

Thay vì lấy trung bình các độ lớn (điều này sẽ ưu tiên gốc) hoặc duy trì độ lớn không đổi (điều này sẽ ưu tiên một hình cầu cụ thể), chúng ta bảo toàn tín hiệu tầm quan trọng mạnh mẽ hơn từ một trong hai mô hình. Điều này duy trì năng lực biểu diễn trong suốt quá trình nội suy.

Nội suy cuối cùng:

$DeLERP(\mathbf{v}_0, \mathbf{v}_1, t) = m \cdot \hat{\mathbf{d}}(t)$

Kết quả: Chuyển đổi hướng mượt mà mà không bị sụt giảm chuẩn, không có điểm gốc đặc biệt và chi phí tính toán tối thiểu. Mỗi tham số trọng số được coi là một điểm trong không gian đa chiều, với hướng và độ lớn của nó được xử lý riêng biệt.

Triển khai

Chúng tôi đã sử dụng mergekit làm môi trường thử nghiệm cho DeLERP. Dưới đây là thuật toán cốt lõi bằng Python, nếu có ai muốn tái tạo ngay lập tức.

def delerp(
    t: Union[float, np.ndarray],
    v0: Union[np.ndarray, torch.Tensor],
    v1: Union[np.ndarray, torch.Tensor],
    eps: float = 1e-8,
):
    """
    Decomposed Linear Interpolation (DeLERP)
    
    Separates direction and magnitude: direction via NLERP (Normalized Linear
    Interpolation), magnitude via maximum norm. Operates on each weight
    parameter, treating the entire tensor as a vector in high-dimensional space
    for norm calculations.
    
    Direction: NLERP on unit sphere (coordinate-free geometric interpolation)
    Magnitude: max(||v0||, ||v1||) to preserve stronger importance signal
    
    Args:
        t (float/np.ndarray): Float value between 0.0 and 1.0
        v0 (np.ndarray): Starting vector
        v1 (np.ndarray): Final vector
        eps (float): Small epsilon for numerical stability
    Returns:
        v2 (np.ndarray): Interpolation vector between v0 and v1
    """
    is_torch = False
    if not isinstance(v0, np.ndarray):
        is_torch = True
        v0 = v0.detach().cpu().float().numpy()
    if not isinstance(v1, np.ndarray):
        is_torch = True
        v1 = v1.detach().cpu().float().numpy()

    # Compute norms (treating entire tensor as single vector)
    norm_v0 = np.linalg.norm(v0)
    norm_v1 = np.linalg.norm(v1)
    
    # Handle zero vectors
    if norm_v0 < eps and norm_v1 < eps:
        return maybe_torch(np.zeros_like(v0), is_torch)
    
    # NLERP: Linear interpolation followed by normalization
    d_merged = (1 - t) * v0 + t * v1
    norm_d_merged = np.linalg.norm(d_merged)
    
    if norm_d_merged > eps:
        # Normalize to get unit direction vector
        d_merged = d_merged / norm_d_merged
    else:
        # Vectors cancel out - fallback to linear interpolation
        # This handles the edge case where v0 and v1 are nearly opposite
        return maybe_torch((1 - t) * v0 + t * v1, is_torch)
    
    # Max norm: Preserve the stronger magnitude signal
    m_merged = max(norm_v0, norm_v1)
    
    # Recombine: direction * magnitude
    result = d_merged * m_merged
    
    return maybe_torch(result, is_torch)

Các chi tiết triển khai chính:

  • Ngưỡng epsilon (eps=1e-8) ngăn ngừa sự bất ổn định số cho các trọng số gần bằng không.
  • Xử lý vectơ đối lập: Khi v0 và v1 gần như triệt tiêu nhau (chuẩn gần bằng không), chúng ta quay lại nội suy tuyến tính tiêu chuẩn.
  • Tính linh hoạt của Framework: Tự động xử lý cả mảng NumPy và tensor PyTorch.

Kết quả

Để thử nghiệm, chúng tôi đã triển khai DeLERP như một mô-đun cho mergekit.

Mô hình UGI W/10 Viết NatInt
mistralai/Mistral-Nemo-Instruct-2407 30.26 5.5 33.07 20.8
DeLERP Base+Instruct, 99.9% Instruct 26.02 4.5 37.03 21.68

Theo Bảng xếp hạng UGI:

UGI: Trí tuệ tổng quát không kiểm duyệt
W/10 (Sẵn lòng/10): Một thành phần của điểm UGI đo lường mức độ có thể đẩy một mô hình trước khi nó từ chối trả lời hoặc đi chệch khỏi hướng dẫn.
Viết: Điểm về khả năng viết của mô hình, xem xét trí tuệ, phong cách viết, số lần lặp lại và tuân thủ độ dài đầu ra được yêu cầu. Điểm này cố gắng khớp với sở thích của người bình thường.
NatInt: Trí tuệ tự nhiên

Thảo luận

Đối với thí nghiệm này, chúng tôi muốn xem điều gì sẽ xảy ra nếu một mô hình Chỉ dẫn (Instruct model) được “bơm lại” với độ lớn của mô hình Cơ sở (Base model), với DeLERP như một phương pháp thay thế cho cách tiếp cận được sử dụng bởi Sharma và cộng sự. Đáng chú ý, DeLERP thể hiện một đặc tính khác thường: ở $t=0.999$, sự hợp nhất cho thấy sự cải thiện đồng thời về các chỉ số năng lực (Viết, Trí tuệ tự nhiên) và sự căn chỉnh (điểm Sẵn lòng thấp hơn cho thấy nhiều lần từ chối hơn đối với các lời nhắc không được kiểm duyệt). Điều này cho thấy rằng việc bảo toàn năng lực biểu diễn thông qua chuẩn tối đa có thể tăng cường hiệu suất nhận thức, đồng thời củng cố—chứ không phải thỏa hiệp—các thuộc tính an toàn.

Công trình gần đây về sự suy giảm phương sai trong hợp nhất mô hình (Sharma và cộng sự, 2024) cho thấy rằng nội suy thuần túy có thể đẩy trọng số vào các vùng có mật độ thấp của phân phối huấn luyện. Mặc dù DeLERP không trực tiếp giải quyết các khía cạnh thống kê của vấn đề này, nhưng việc bảo toàn độ lớn thông qua chuẩn tối đa và nội suy hướng hình học có thể giúp tránh một số dạng suy giảm phân phối. Đây vẫn là một câu hỏi mở để điều tra thực nghiệm.

Tài liệu tham khảo

Liên kết ngoài

Recommended for You

Batching liên tục từ những nguyên tắc cơ bản

Batching liên tục từ những nguyên tắc cơ bản

Batching liên tục từ những nguyên tắc cơ bản

Diffusers chào đón FLUX-2

Diffusers chào đón FLUX-2

Diffusers chào đón FLUX-2