I want to fine tune an LLM to “steer” it in the right direction. I have plenty of training examples in which I stop the generation early and correct the output to go in the right direction, and then resume generation.

Basically, for my dataset doing 100 “steers” on a single task is much cheaper than having to correct 100 full generations completely, and I think each of these “steer” operations has value and could be used for training.

So maybe I’m looking for some kind of localized DPO. Does anyone know if something like this exists?

  • @[email protected]
    link
    fedilink
    English
    16 months ago

    Could you perhaps share a reference for this? I’m eager to learn as I don’t quite understand.

    I’ve always trained LLM supervised: predict token N+1 based on tokens 1 to N.

    • @[email protected]OP
      link
      fedilink
      English
      16 months ago

      This pre-training was done by Meta. It’s what Llama-3.1-405B is (in contrast to Llama-3.1-405B-Instruct). https://huggingface.co/meta-llama/Llama-3.1-405B

      Training Data

      Overview: Llama 3.1 was pretrained on ~15 trillion tokens of data from publicly available sources. The fine-tuning data includes publicly available instruction datasets, as well as over 25M synthetically generated examples.

      • @[email protected]
        link
        fedilink
        English
        1
        edit-2
        6 months ago

        Oh I see the origin of my confusion. The terminology “supervised learning” got repurposed.

        It’s all supervised learning if the model is learning the relationship between input and expected output (using supervised learning as described in (1)). The methodology of “pre-training” is the same as that of “supervised fine tuning”.

        There’s no unsupervised learning happening, as described in (2)

        • @[email protected]OP
          link
          fedilink
          English
          1
          edit-2
          6 months ago

          No, it’s unsupervised. In pre-training, the text data isn’t structured at all. It’s books, documents, online sources, all put together.

          Supervised learning uses data with “ground truth” labels.

          • @[email protected]
            link
            fedilink
            English
            16 months ago

            Have you worked with (variational) auto-encoders? I think they’re a great example of what I would call unsupervised learning.

            Supervised learning uses data with “ground truth” labels.

            What are “ground truth” labels?

            • @[email protected]OP
              link
              fedilink
              English
              16 months ago

              Ground truth labels are just prescriptive labels that we recognize as being true. The main thing that distinguishes unsupervised from supervised is that in unsupervised learning, what is “good” is learned from the unstructured data itself. In supervised learning, what is “good” is learned from some external input, like “good” human-provided examples.

                • @[email protected]OP
                  link
                  fedilink
                  English
                  16 months ago

                  No, in that case there’s no labelling required. That would be unsupervised learning.

                  https://en.wikipedia.org/wiki/Unsupervised_learning

                  Conceptually, unsupervised learning divides into the aspects of data, training, algorithm, and downstream applications. Typically, the dataset is harvested cheaply “in the wild”, such as massive text corpus obtained by web crawling, with only minor filtering (such as Common Crawl). This compares favorably to supervised learning, where the dataset (such as the ImageNet1000) is typically constructed manually, which is much more expensive.