• msage@programming.dev
    link
    fedilink
    English
    arrow-up
    1
    arrow-down
    1
    ·
    6 months ago

    Sigh.

    There is no code for language processing, it’s just math approximating results from weights. The whole weight set-up is what’s called ‘artificial intelligence’, because nobody wrote

    if prompt like 'python' return ['large snake', 'programming language', 'australian car company']

    the model ‘learned’ how to mimic human speech using training, not by 1000s of software engineers adding more branches to the code.

    That technique is part of ‘artificial intelligence’, when computers solve problems they were not programmed to do. The neural network learns its knowledge by the code, but the code has no idea what is going on.

      • msage@programming.dev
        link
        fedilink
        English
        arrow-up
        1
        arrow-down
        1
        ·
        6 months ago

        I am now properly confused as to what are you arguing for.

        So let me go to the basics.

        Computers follow instructions to the letter. Take input, process it, produce output.

        There are specific instructions that computer can carry out, we can build on top of them to make them more complex. We write code to do that.

        True/false gates can become numbers, which can become text, audio, video.

        But everything ‘programmed’ or ‘digitally created’ is using the same instructions and only ever does what we tell the computer to do.

        Cutting video will require video input, and then user has to do specific actions to produce a specific result.

        Almost everything in existence is built like that - someone wrote specific code for technology to behave.

        Now, this is very primitive way of solving tasks, specifically for real-world parameters. Computers have gigabytes (10^9) of memory, but just the earth has 10^50 atoms, so we can’t put eveything into a computers (which is why we can’t 100% predict the weather), and checking for every input parameter is not only futile, but also meaningless.

        Enter ‘artificial intelligence’, approximated way of solving problems. Suddenly we don’t code the tasks themselves, we only specify the neural network - weights and connections between them, and code the ‘learning’ algorhitm that adjusts the weights based on inputs during ‘training’. Training is the expensive part, where we put huge amounts of input into the network, and if the answer we get is incorrect, we adjust the weights and try again with another sample.

        It’s very expensive in every way, but the code involved doesn’t care about anything other than adjusting those weights. The network can be fed images and determining whether it’s a dog or a cat. It can be fed audio samples and expect to write down the lyrics. The code doesn’t know or care, apart from distinguishing between correct and not correct answers and adjusting those weights.

        After those weights are set to our satisfaction, we can release them for others to use. We expect the network to have ‘reliable’ outputs for our inputs, so we just calculate the neuron activations based on those weights for every input, nothing else is necessary.

        Therefore you do have code in the machine that learns, but only during training, and you have code that actually ‘runs’ the algorhitm for calculating output. But the actual solution to the problem is not inside the code, it can’t even be coded by humans in any way. The neural network is a statistical model generated by the training set and according to our learning algo. The bigger the network, the bigger the training set, the better should those outputs be (in theory).

        To take the cutting video example further, you can train network to cut trailers from movies.

        Or you can let editors do that.

        They both will use computers, but one is using deteministically coded software that just follows specific orders one by one, and the other just computes the neuron activations based on the inputs and produces an output based on what it had available in the training data with some probability.

        So yes, machines can learn, and it’s a subset of the ‘Artificial Intelligence’ field.

        • SpaceNoodle@lemmy.world
          link
          fedilink
          English
          arrow-up
          1
          arrow-down
          1
          ·
          6 months ago

          It won’t hallucinate less with additional training input.

          An LLM is good at making sentences that seem convincing, but has no ability to reason.

          • msage@programming.dev
            link
            fedilink
            English
            arrow-up
            1
            arrow-down
            1
            ·
            6 months ago

            Thanks for ignoring the same argument over and over again, it makes you look very stuck-up.

            Intelligence does not require perfection (you are an example). You also hallucinate random output, but you can learn to stop specific hallucinations - like reading a Wiki page.

            LLM aren’t different in that regard - they were trained on inputs, and if you extend their training sets, they will be more exact in those areas.

            Ability to reason is a very hard concept to specify, and we don’t have any foolproof test (that I know of) that would definitely say if LLMs can reach that stage.

            I will fight you if you try to tell me that humans are smarter than any current AI - because there are some real dumb people walking this earth and mindlessly reproducing, unable to process basic concepts that they depend their lives on.

            Nothing of this changes the fact that there is an intelligence - natural language is an incredibly hard thing to code deterministically - and as such deserves the ‘AI’ label without a doubt.