Sobes.tech
Middle — Senior
23

Что такое adapter tuning и prefix tuning?

Компании, где спрашивали
ЦифровыеПривычки
РобоСиб
X5 techX5 tech

Ответ от нейросети

sobes.tech AI

Adapter tuning и prefix tuning — это методы эффективной донастройки больших языковых моделей (LLM) без необходимости полного переобучения всей модели.

Adapter tuning заключается во внедрении небольших дополнительных слоев (адаптеров) в уже обученную модель. При дообучении изменяются только параметры этих адаптеров, а основная модель остаётся замороженной. Это позволяет значительно снизить объём обучаемых параметров и ускорить процесс дообучения.

Prefix tuning — метод, при котором к входным данным модели добавляется обучаемый префикс (набор токенов или векторов), который влияет на поведение модели. При этом сама модель не изменяется, а обучается только этот префикс, который служит как контекст для генерации.

Оба подхода позволяют адаптировать большие модели под новые задачи с меньшими затратами ресурсов и времени по сравнению с полным fine-tuning.

Пример adapter tuning (упрощённо):

# Вставляем адаптер в трансформер
class Adapter(nn.Module):
    def __init__(self, input_dim, adapter_dim):
        super().__init__()
        self.down_proj = nn.Linear(input_dim, adapter_dim)
        self.up_proj = nn.Linear(adapter_dim, input_dim)
    def forward(self, x):
        return x + self.up_proj(torch.relu(self.down_proj(x)))

# В модели замораживаем все параметры, кроме адаптера
for param in model.parameters():
    param.requires_grad = False
for param in adapter.parameters():
    param.requires_grad = True