• pkill@programming.dev
    link
    fedilink
    arrow-up
    67
    ·
    5 months ago

    I mean, correcting a LLM until it spews out something that mostly works is just good old shotgun debugging, prove me wrong

    • bobs_monkey@lemm.ee
      link
      fedilink
      arrow-up
      12
      ·
      edit-2
      5 months ago

      No no, that’s a very valid point. Get an llm to write this article, submit it $techcurrenteventszine and someone pay this man!

    • Ephera@lemmy.ml
      link
      fedilink
      arrow-up
      4
      ·
      5 months ago

      Personally, I feel like it has most resemblance with empirical science. So, not really much to do with programming or software engineering…

      • Ravi@feddit.de
        link
        fedilink
        arrow-up
        1
        ·
        5 months ago

        That’s also why it falls in the area of data science. You develop a model based on available papers of similar tasks and refine the model and training with statistical methods.

    • jaybone@lemmy.world
      link
      fedilink
      arrow-up
      3
      ·
      5 months ago

      Is an LLM machine learning? In ML you are usually predicting a value based on values in the training set. That’s not really what an LLM does it seems. Maybe it uses some ML under the hood.

      • Korne127@lemmy.world
        link
        fedilink
        arrow-up
        10
        ·
        edit-2
        5 months ago

        In ML you are usually predicting a value based on values in the training set

        No, that’s just a small part of ML: Supervised learning. There also is unsupervised learning, reinforcement learning and a whole bunch of other things in machine learning; It’s a way bigger field than just that.

        And about your question: Yeah, LLMs are a prime example of machine learning. Very simplified, they use a kind of recurrent neural network to take inputs of arbitrary lengths and give outputs. They are trained on huge loads of data (text) to auto-complete the data (so that they get e.g. a sentence as input and give a second sentence that’s likely the next sentence in the data as output). E.g. “Today I went” as input could generate “to school.” as output.

        ChatGPT is based on these LLMs like GPT-4 in the way that the start of the input data is commands in human language for the bot how to behave. (E.g. “You are called ChatGPT. You are not allowed to […]. You are helpful and friendly.”), then adding the user input. The LLM then generates what the chatbot described with the given characteristics would give as an output based on the training set and it’s returned as the output by ChatGPT.

    • geogle@lemmy.world
      link
      fedilink
      arrow-up
      21
      ·
      5 months ago

      Back in my ancient college days, compilers (C, FORTRAN) would take like 5 minutes or more, so it was really important to code carefully.

    • Ephera@lemmy.ml
      link
      fedilink
      arrow-up
      9
      ·
      5 months ago

      It’s rather about changing things randomly.

      Ideally, you work out the requirements. Then you formulate those requirements in code, via the static type system and/or automated unit+integration tests. And then you implement your code to match those requirements (compiler stops complaining and tests are green).

      Ideally, you don’t have to actually run the whole application to feel confident enough about your changes, although obviously you would still do that eventually, for example before publishing a release.

      • Pyro@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        5 months ago

        It’s rather about changing things randomly.

        I do this all the time when working with transformations (in personal projects). I know I need to take into account these 5 variables but I’m not sure exactly how they all fit together, and I really don’t want to get a pen and paper out, so I just shuffle things and their operators about until it works or I get bored and do something else.