News for hackers. Stuff that matters.
Re:AI won't steal your job, people leveraging AI will by gavinhoward on Monday April 03, 2023 @01:20PM (#35427693)
Fair enough.

> This doesn't need AGI

This is where we disagree.

Code is so complex that I believe, strongly, that anything less than AGI will not be good enough. Notice I said "good enough". Sure, something less might be able to do something, but not good enough to make it a part of my toolkit.

Also, code is Turing-complete. These LLM's are not Turing-complete. How could something that is not Turing-complete hope to "understand" (for some definition) something that is?

Re:AI won't steal your job, people leveraging AI will by jmfldn on Monday April 03, 2023 @02:01PM (#35428511)
I sort of agree with you in the most extreme case, ie "computers taking our jobs" means AGI. I'm not even sure that LLMs take you to AGI fwiw. Obviously we also need to define what we mean by AGI too.

Anyway, all of that aside my point is this. AGI-aside, the current tools, scaled up and improved, will have a big impact on productivity eventually. When I think of the toil so much development involves now, especially for your average mid-level engineer, a lot of that could easily be eliminated. That's a lot of man hours right there. I can also see it as a knowledge base on steroids. Large orgs are so hampered by fragmented docs, misalignment etc, that this could really help to build business and domain insights.

I see any number of transformative business /dev products to start appearing soon. The level of investment, and the technical progress, make this inevitable.

Re:AI won't steal your job, people leveraging AI will by fl7305 on Monday April 03, 2023 @03:56PM (#35430338)
> These LLM's are not Turing-complete.

Aren't they? I view them as "language processors", that execute one token (instruction) at a time, and use the token window as their working memory.

Sure, they have a limit to their instruction count (8k/32) before stopping. The working memory is small, but 8k tokens goes a lot longer than 8 kB.

I've seen you state in other comments that LLM's cannot reason. I used to think so too until a couple of weeks ago.

But I had to change my mind. They're not just fancy autocomplete tools any more. They exhibit intelligence in that they can understand a given problem statement, reason about it, and make predictions and recommendations.

Re:AI won't steal your job, people leveraging AI will by gavinhoward on Monday April 03, 2023 @05:25PM (#35431501)
To demonstrate that LLM's are Turing-complete, give them a small program and some inputs, then tell them to tell you the outputs for each of the inputs.

In order to be Turing-complete, they would need to have edges between nodes (I don't know what they are called in ML parlance) that can go to previous nodes, as well as edges that are only conditionally taken.

> They exhibit intelligence in that they can understand a given problem statement, reason about it, and make predictions and recommendations.

They exhibit the intelligence of the humans that wrote the material used to train their models, nothing more. They are borrowed intelligence.

Re:AI won't steal your job, people leveraging AI will by fl7305 on Monday April 03, 2023 @11:50PM (#35434810)
> give them a small program and some inputs, then tell them to tell you the outputs for each of the inputs

I just tried this with all three versions of ChatGPT (3.5 legacy, 3.5, 4), and they all did it correctly.

>In order to be Turing-complete, they would need to have edges between nodes (I don't know what they are called in ML parlance) that can go to previous nodes, as well as edges that are only conditionally taken.

If you look at a neural network at the lowest level, it is trivial to implement a NAND gate with them. It just takes a few nodes. And LLMs have a feedback loop through their context window.

With NAND gates and a feedback loop you can build any CPU.

There are many examples of people asking ChatGPT to act like a CPU and pretend to execute instructions, or like a Python interpreter, or a Dungeon Master and respond to what the human players do.

Now, that doesn't make it an AI in itself. But it shows that there is no fundamental limit to its computational capabilities.

> They exhibit the intelligence of the humans that wrote the material used to train their models, nothing more.

Do you mean that they're just pattern matching input text against a fuzzy database and responding with canned answers?

If so, that's not what's going on in my view. That might have been accurate for the earlier LLMs.

But the latest LLMs appear to have developed internal language processing, a world model, and capabilities to reason about things.

Re:AI won't steal your job, people leveraging AI will by gavinhoward on Tuesday April 04, 2023 @08:58AM (#35438885)
What program did you give it? The program would need a while loop and an if statement to show Turing-completeness.
Re:AI won't steal your job, people leveraging AI will by fl7305 on Thursday April 06, 2023 @06:02AM (#35466366)
Some examples below. What do you see in the LLM design that makes it not Turing complete?

Here's one example:

  Prompt:
  Please pretend you are a CPU. Execute the following Python program and show what the output would be. Respond only with the outputs, and no comments:

  for i in range(5):
    if i == 3:
      print("Found 3")
    else:
      print(i)


  Response:
  0
  1
  2
  Found 3
  4
I got the same results on GPT-3.5 legacy, GPT-3.5, and GPT-4.

Second example (only works in GPT-4):

  Prompt 1:  
    Please pretend you are a CPU. Execute the following Python program and show what the output would be. Respond only with the outputs, and no comments:
  
    stop = False
    while not stop:
      user_input = input()
      if user_input == "stop":
        stop = True
      print(user_input)
    print("Program is done")
    
    For "input()", stop and ask me for the input string.
    
    If you reach the statement 'print("Program is done")', then say "It looks like we are done!".
    
  Response 1:
    input()
  
  Prompt 2:
    hello
  
  Response 2:
    hello
    input()
  
  Prompt 1:    
    world
  
  Response 2:
    world
    input()
  
  Prompt 1:   
    stop
  
  Response 2:
    stop
    It looks like we are done!