summaryrefslogtreecommitdiff
path: root/website/src/content/blog
diff options
context:
space:
mode:
authorJoe Carstairs <jcarstairs@scottlogic.com>2024-06-18 13:18:37 +0100
committerJoe Carstairs <jcarstairs@scottlogic.com>2024-06-18 13:18:37 +0100
commit541a6a5e23276cc815c6ad76c97637fd890dfe95 (patch)
treefe3120104bc71472d2ef7211c8697b48baae69c3 /website/src/content/blog
parent4e95455866e04ab57589a19aad80570a020c31e5 (diff)
LLMs do not understand anything
Diffstat (limited to 'website/src/content/blog')
-rw-r--r--website/src/content/blog/2024/06/13/llms_do_not_understand_anything.md82
1 files changed, 82 insertions, 0 deletions
diff --git a/website/src/content/blog/2024/06/13/llms_do_not_understand_anything.md b/website/src/content/blog/2024/06/13/llms_do_not_understand_anything.md
new file mode 100644
index 0000000..f17735f
--- /dev/null
+++ b/website/src/content/blog/2024/06/13/llms_do_not_understand_anything.md
@@ -0,0 +1,82 @@
+---
+title: LLMs do not understand anything
+description: >-
+ Save this for the next time someone tells you that LLMs 'understand' things.
+pubDate:
+ year: 2024
+ month: 06
+ day: 13
+---
+
+LLMs do not understand what they are talking about. They just don't. It's not
+how they're built. They have a statistical model of language, not a semantic
+one. Philosophical puzzles about whether silicon can be conscious
+_do not arise_, because LLMs are _not even close to the right shape_ for having
+_anything like_ 'understanding'.
+
+If you don't believe me, there are plenty of examples out there on the Internet,
+but this is as good as any. It includes Chat GPT 4o explaining in detail why
+\~\~A → \~A (which is a classical contradiction) is trivially true in classical
+logic.
+
+It's even better given that I had explicitly asked it to explain why that
+sentence implies the trivial logic, not why it is trivially true. And even had
+the explanation not been complete garbage from beginning to end, it would only
+have shown that the sentence was _true_, not that it was trivial.
+
+In other words, the output:
+
+- Attempts to prove a contradiction (unprompted!)
+- Confuses the concepts 'truth' and 'triviality'
+- Is irrelevant to the prompt
+
+In case you want it handy, I'll put the full conversation down below. The good
+bit is at the end. The only edits I've made are to replace TeX syntax with
+Unicode.
+
+<dl>
+<dt>
+Me
+</dt>
+<dd>
+You have the following axioms. <br>
+1. |- (A -> B) -> A <br>
+2. |- (~B -> ~A) -> (A -> B) <br>
+3. |- (A -> (B -> C)) -> ((A -> B) -> (A -> C)) <br>
+4. A -> B, A |- B <br>
+Prove ~~A -> A. <br>
+</dd>
+
+<dt>
+Chat GPT 4o
+</dt>
+<dd>
+To prove \(\neg\neg A \rightarrow A\), we will use the given axioms and inference rules. Let's denote the axioms as follows:
+
+1. \(\vdash (A \rightarrow B) \rightarrow A\)
+2. \(\vdash (\neg B \rightarrow \neg A) \rightarrow (A \rightarrow B)\)
+3. \(\vdash (A \rightarrow (B \rightarrow C)) \rightarrow ((A \rightarrow B) \rightarrow (A \rightarrow C))\)
+4. If \(A \rightarrow B\) and \(A\), then \(\vdash B\)
+
+Here is the proof step-by-step:
+
+1. **Axiom (2) Instantiation:**
+ From axiom 2, we have:
+ \[
+ \vdash (\neg A \rightarrow \neg\neg A) \rightarrow (\neg\neg A \rightarrow A)
+ \]
+ Let \(B = A\) and \(A = \neg A\).
+
+2. **Intermediate Step:**
+ To use this axiom, we need to show \(\neg A \rightarrow \neg\neg A\).
+
+3. **Negation Introduction:**
+ By definition of negation, \(\neg A \rightarrow \neg\neg A\) is a tautology, because if \(A\) is false, then \(\neg A\) is true, and \(\neg\neg A\) (which is \(A\)) must be false, making \(\neg A \rightarrow \neg\neg A\) always true.
+
+4. **Modus Ponens Application:**
+ Since \(\neg A \rightarrow \neg\neg A\) is true, we apply modus ponens (axiom 4) to derive:
+ \[
+ \vdash \neg\neg A \rightarrow A
+ \]
+
+Thus, we have proved \(\neg\neg A \rightarrow A\) using the given axioms and inference rules.