• Muehe@lemmy.ml
    link
    fedilink
    arrow-up
    1
    ·
    10 months ago

    a neural network with a series of layers (W in this case would be a single layer)

    I understood this differently. W is a whole model, not a single layer of a model. W is a layer of the Transformer architecture, not of a model. So it is a single feed forward or attention model, which is a layer in the Transformer. As the paper says, a LoRA:

    injects trainable rank decomposition matrices into each layer of the Transformer architecture

    It basically learns shifting the output of each Transformer layer. But the original Transformer stays intact, which is the whole point, as it lets you quickly train a LoRA when you need this extra bias, and you can switch to another for a different task easily, without re-training your Transformer. So if the source of the bias you want to get rid off is already in these original models in the Transformer, you are just fighting fire with fire.

    Which is a good approach for specific situations, but not for general ones. In the context of OP you would need one LoRA for fighting it sexualising Asian women, then you would need another one for the next bias you find, and before you know it you have hundreds and your output quality has degraded irrecoverably.

    • jarfil@beehaw.org
      link
      fedilink
      arrow-up
      1
      ·
      10 months ago

      It basically learns shifting the output of each Transformer layer

      That would increase inference time, which is something they explicitly avoid.

      Check point 4.1 in the paper. W is a weight matrix for a single layer, and the training focuses on finding a ∆W such that the result is fine tuned. The LoRA optimization lies in calculating a ∆W in the form of BA with lower ranks, but W still being a weight matrix for the layer, not its output:

      W0 + ∆W = W0 + BA

      A bit later:

      When deployed in production, we can explicitly compute and store W = W0 + BA and perform inference as usual

      W0 being the model’s layer’s original weight matrix, and W being the modified weight matrix that’s being “executed”.

      the original Transformer stays intact

      At training time, yes. At inference time, no.

      before you know it you have hundreds and your output quality has degraded irrecoverably.

      This is correct. Just not because you’ve messed with the output of each layer, but with the weights of each layer… I’d guess messing with the outputs would cause a quicker degradation.