struktureret beskæring

Teknik til modelkomprimering hvor hele strukturer, såsom kanaler, filtre eller lag, fjernes fra en neuralnetværksmodel for at reducere størrelse og beregningsomkostninger, samtidig med at den overordnede arkitektur bevares.

Kort fortalt

Struktureret beskæring gør en AI-model mindre og hurtigere ved at fjerne hele dele af den, i stedet for at fjerne enkelte vægte.

Kategori
teknik
Niveau
øvet

Betydninger

1
  1. 1

    Teknik inden for modelkomprimering, hvor man fjerner hele kanaler, filtre eller lag fra et neuralt netværk for at reducere antallet af parametre og beregningsomkostninger, mens modellens arkitektur forbliver intakt (f.eks. antallet af lag).

    • Efter struktureret beskæring af de mindst vigtige kanaler i et convolutional neural network blev modellen 40% mindre uden signifikant fald i nøjagtighed.Eksempel fra praksis
    • Struktureret beskæring kan implementeres lagvis ved at beregne en vigtighedsscore for hver kanal baseret på f.eks. L1-normen af vægtene.Eksempel fra praksis

Hvornår bruges det

Anvendes typisk efter træning for at optimere en model til deployment på hardware med begrænsede ressourcer. Kræver ofte efterfølgende genoptræning for at genvinde tabt nøjagtighed. Beskæringsraten bestemmes ofte ud fra en vigtighedsmåling for hver struktur.

Kodeeksempel

import torch
import torch.nn as nn

def structured_prune_conv(layer, keep_mask):
    """
    Beskær en Conv2d ved at beholde kun kanaler hvor keep_mask er True.
    """
    layer.weight.data = layer.weight.data[keep_mask]
    if layer.bias is not None:
        layer.bias.data = layer.bias.data[keep_mask]
    layer.out_channels = keep_mask.sum().item()
    layer.in_channels = layer.weight.shape[1]
    return layer

Funktion der beskærer kanaler i et convolutional lag baseret på en boolsk maske. Masken angiver hvilke output-kanaler der skal beholdes.

Oprindelse

Begrebet 'beskæring' lånt fra havebrug, hvor grene beskæres. I maskinlæring overført til at fjerne overflødige dele af en model. 'Struktureret' angiver, at beskæringen sker på hel strukturer (kanaler, lag) frem for individuelle vægte.

Afledte ord

2

Kilder

2