ChatGPT would have been so much useful and trustworthy if it is able to accept that it doesn't know an answer. - eviltoast

Small rant : Basically, the title. Instead of answering every question, if it instead said it doesn’t know the answer, it would have been trustworthy.

  • mozz@mbin.grits.dev
    link
    fedilink
    arrow-up
    16
    arrow-down
    1
    ·
    5 months ago

    This wasn’t an intentional feature; they’re actually trying to train it with fine-tuning to add this as an ability. It’s one area that highlights the difference between it imitating the text it’s been seeing, instead of actually understanding what it’s saying – since most of its training data is of the form “(ask a question) (response to question)” overwhelmingly more often than “(ask a question) (say you don’t know, the end)”, it is trying to be a good imitator and do the same, and come up with some plausible nonsense even if it doesn’t know the answer.

    • FaceDeer@fedia.io
      link
      fedilink
      arrow-up
      8
      arrow-down
      1
      ·
      5 months ago

      And sometimes that’s exactly what I want, too. I use LLMs like ChatGPT when brainstorming and fleshing out fictional scenarios for tabletop roleplaying games, for example, and in those situations coming up with plausible nonsense is specifically the job at hand. I wouldn’t want to go “ChatGPT, I need a description of the interior of a wizard’s tower is like” and get the response “I don’t know what the interior of a wizard’s tower is like.”

      • mozz@mbin.grits.dev
        link
        fedilink
        arrow-up
        7
        ·
        5 months ago

        At one point I messed around with a lore generator that would chop up sections of “The Dungeon Alphabet” and “Fire on the Velvet Horizon” along with some other stuff, and feed random sections of them into the LLM for inspiration and then ask it to lay out a little map, and it pretty reliably came up with all kind of badass stuff.

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

      Part of the problem is fine tuning is very shallow, and that a contributing issue for claiming to be right when it isn’t is the pretraining on a bunch of training data of people online claiming to be right when they aren’t.

      • mozz@mbin.grits.dev
        link
        fedilink
        arrow-up
        1
        ·
        5 months ago

        Yeah. It is fairly weird to me that it’s such a common thing to do to take the raw output of the LLM and send that to the user, and to try use fine-tuning to get that raw output to look some way that you want.

        To me it is obvious that something like having the LLM emit a little JSON block which includes some field which covers “how sure are you that this is actually true” or something, is more flexible and simpler and cheaper and works better.

        But what do I know

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

          The problem is that they are prone to making up why they are correct too.

          There’s various techniques to try and identify and correct hallucinations, but they all increase the cost and none are a silver bullet.

          But the rate at which it occurs decreased with the jump in pretrained models, and will likely decrease further with the next jump too.

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

          Good look getting it to reply consistently with a json object

          Edit: maybe i’m shit at prompting but for me it’s almost impossible to even get it to just shut up and consistently reply yes or no to my questions

          • mozz@mbin.grits.dev
            link
            fedilink
            arrow-up
            1
            ·
            5 months ago

            I haven’t really had a problem with it… maybe like 5% of the time it will want to do something a little bit weird like wrapping it in ``` but in general it seems like it works well enough to be able to parse with a program and just retry if it does something weird.

            You do have to set it up a little carefully, I guess - like usually I’ll give it an example of what I want it to emit, and that’ll be good enough that that’s the form it will follow when it’s emitting stuff back to me. But yeah if you give it prompting and a specific machine readable thing to give back that seems like it usually works better than sticking with English and hoping it goes “yes” or “no” or etc like that.