• s@piefed.world
    link
    fedilink
    English
    arrow-up
    7
    arrow-down
    1
    ·
    8 days ago

    I’m not super familiar with ELIZA but this section of the text

    ELIZA starts its process of responding to an input by a user by first examining the text input for a “keyword”. A “keyword” is a word designated as important by the acting ELIZA script,…”

    makes it sound like an LLM with only a small pool of language data? An LM, if you will.

    • sp3ctr4l@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      12
      ·
      8 days ago

      No, its much, much more primitive than an LLM.

      It scans your last message for keywords, potentially multiple keywords, keywords in some order, etc, fairly simple patterns you can use something like regex to parse.

      Then, based on what it detects, it picks from something like a tree of responses, maybe reinserting the specific keyword you used.

      Basically, imagine plotting out the entire dialogue tree from some video game.

      … It really is not too much more complex than that.

      An LLM, on the other hand, has been trained on something like trillions of pages of text, which then gets processed through multiple billions of layers of per word/character comparative analysis, producing a very complex set of relationships between characters and words, that it then uses to evaluate responses.

      And when I say ‘very complex’ I mean that the results of parsing all the training data are not human readable, even by experts, its a gibberish mass of relationships between billions of matrices, something like that… its not even really code that you could read and then say ‘oh! that part is causing this problem!’

      So tldr:

      I could probably teach you how to write a simple oldschool chatbot that works in a terminal or on IRC, in like, a week or two, even if you have literally 0 prior coding experience. You could easily make a simple chatbot fit in under a megabyte of code, even under a tenth or hundredth of a megabyte, for the actual chat parts of it.

      … I absolutely could not teach you how to make an LLM from scratch, and even if I could, we’d have to rent some server clusters to process even a tiny training data set, for a very primitive version of al LLM. And it would take up gigabytes of local space, and thats with the finished, condensed, ‘trained’ model. Could easily be thousands of times more data that would go into the training.

      • dave@feddit.uk
        link
        fedilink
        English
        arrow-up
        7
        ·
        8 days ago

        That tldr needs a tldr…

        But also you absolutely can learn & build small versions of LLMs on a regular laptop. I did it on my old 2017 Dell XPS, and trained it on the complete works of Shakespeare. It learnt to write almost passable Shakespeare hallucination in a couple of hours. There’s a good tutorial online if you search for it.

        • sp3ctr4l@lemmy.dbzer0.com
          link
          fedilink
          English
          arrow-up
          1
          ·
          8 days ago

          Well shit.

          I’ve only figured out how to just run one locally on a Steam Deck, not build and train one.

          Still though, even for this more primitive one you built, I’m guessing the overall file footprint size of it was orders of magnitude greater than what you could fit into a megabyte of more simpler chatbot that runs in a local terminal, right?

          • dave@feddit.uk
            link
            fedilink
            English
            arrow-up
            3
            ·
            8 days ago

            Oh sure. The training data is about 5mb so easily manageable on a relatively modern machine, but not on the kind of thing that was used for ELIZA.

    • ZombiFrancis@sh.itjust.works
      link
      fedilink
      arrow-up
      4
      ·
      8 days ago

      Sure, but in this cases the responses are directly programmed to the keywords and not scrawling through datasets for patterns to replicate.