惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

N
News and Events Feed by Topic
GbyAI
GbyAI
博客园 - Franky
宝玉的分享
宝玉的分享
Blog — PlanetScale
Blog — PlanetScale
Google DeepMind News
Google DeepMind News
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
人人都是产品经理
人人都是产品经理
Microsoft Azure Blog
Microsoft Azure Blog
The Register - Security
The Register - Security
腾讯CDC
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
I
InfoQ
The Cloudflare Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Engineering at Meta
Engineering at Meta
MongoDB | Blog
MongoDB | Blog
有赞技术团队
有赞技术团队
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
F
Full Disclosure
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Vercel News
Vercel News
博客园 - 【当耐特】
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
S
Schneier on Security
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Project Zero
Project Zero
量子位
M
MIT News - Artificial intelligence
Stack Overflow Blog
Stack Overflow Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
美团技术团队
Attack and Defense Labs
Attack and Defense Labs
C
Cybersecurity and Infrastructure Security Agency CISA
T
The Blog of Author Tim Ferriss
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
T
Troy Hunt's Blog
Google Online Security Blog
Google Online Security Blog
罗磊的独立博客
P
Proofpoint News Feed
Schneier on Security
Schneier on Security
Spread Privacy
Spread Privacy
S
SegmentFault 最新的问题
L
LINUX DO - 最新话题
Simon Willison's Weblog
Simon Willison's Weblog
爱范儿
爱范儿
博客园 - 聂微东
A
About on SuperTechFans
PCI Perspectives
PCI Perspectives
D
Docker

Minko Gechev's blog

skillgrade Unit Tests for AI Agent Skills You Should Care About AI Generative Development LLM-first Web Framework Reactive framework in ~200 lines of JavaScript Managing Angular Prefetching Heuristics Design Patterns in Open Source Projects - Part II Design Patterns in Open Source Projects - Part I What I learned doing 125 public talks - Part I Dynamic imports solve all the problems, right? 5 Angular CLI Features You Didn't Know About Angular quicklink Preloading Strategy Introducing Bazel Schematics for Angular CLI Building TypeScript Projects with Bazel Joining Google Playing Mortal Kombat with TensorFlow.js. Transfer learning and data augmentation Fast, extensible, configurable, and beautiful linter for Go Introducing Guess.js - a toolkit for enabling data-driven user-experiences on the Web Machine Learning-Driven Bundling. The Future of JavaScript Tooling. JavaScript Decorators for Declarative and Readable Code 3 Tricks For Using Redux and Immutable.js with TypeScript Follow Your Dream Career with Open Source. Personal Story. Redux Anti-Patterns - Part 1. State Management. Faster Angular Applications - Understanding Differs. Developing a Custom IterableDiffer Faster Angular Applications - Part 2. Pure Pipes, Pure Functions and Memoization Faster Angular Applications - Part 1. On Push Change Detection and Immutability Understanding Dynamic Scoping and TemplateRef Implementing a Simple Compiler on 25 Lines of JavaScript Developing Statically Typed Programming Language WebVR for a Gamified IDE 7 Angular Tools That You Should Consider Announcing ngrev - Reverse Engineering Tool for Angular Implementing Angular's Dependency Injection in React. Understanding Element Injectors. Distributing an Angular Library - The Brief Guide Angular in Production Ahead-of-Time Compilation in Angular 2.5X Smaller Angular 2 Applications with Google Closure Compiler Using Stripe with Angular (Deprecated) Building an Angular Application for Production Implementing the Missing "resolve" Feature of the Angular 2 Router Scalable Single-Page Application Architecture Managing ambient type definitions and dealing with the "Duplicate identifier" TypeScript error Static Code Analysis of Angular 2 and TypeScript Projects Enforcing Best Practices with Static Code Analysis of Angular 2 Projects ViewChildren and ContentChildren in Angular Dynamically Configuring the Angular's Router Angular 2 Hot Loader Lazy Loading of Route Components in Angular 2 Aspect-Oriented Programming in JavaScript Flux in Depth. Store and Network Communication. Using JSX with TypeScript Flux in Depth. Overview and Components. Even Faster AngularJS Data Structures Boost the Performance of an AngularJS Application Using Immutable Data - Part 2 Angular2 - First Impressions Build Your own Simplified AngularJS in 200 Lines of JavaScript Persistent State of ReactJS Component Boost the Performance of an AngularJS Application Using Immutable Data Processing Binary Protocols with Client-Side JavaScript Stream your Desktop to HTML5 Video Element Multi-User Video Conference with WebRTC Asynchronous calls with ES6 generators Binary Tree iterator with ES6 generators WebRTC chat with React.js AngularJS in Patterns (Part 3) AngularJS in Patterns (Part 2). Services. Using GitHub Pages with Jekyll! AngularJS in Patterns (Part 1). Overview of AngularJS Singleton in JavaScript Express over HTTPS What I get from the JavaScript MV* frameworks Remote Desktop Client with AngularJS and Yeoman The magic of $resource (or simply a client-side Active Record) AngularJS Inheritance Patterns AngularAOP v0.1.0 Advanced JavaScript at Sofia University AngularJS style guide Lazy prefetching of AngularJS partials VNC client on 200 lines of JavaScript Aspect-Oriented Programming with AngularJS CSS3 flipping effect Practical programming with JavaScript Why I should use publish/subscribe in JavaScript JavaScript, the weird parts Functional programming with JavaScript plainvm Looking for performance? Probably you should NOT use [].sort (V8) JavaScript image scaling ELang Caching CSS with localStorage Self-invoking functions in JavaScript (or Immediately Invoked Function Expressions) Asus N56VZ + Ubuntu 12.04 (en) Asus N56VZ + Ubuntu 12.04 Debian Squeeze + LXDE on Google Nexus S (or having some fun while suffering) HTML5 image editor Курсови проекти – ФМИ Carousel Gallery SofiaJS...
Are LLMs going to replace us?
2024-05-28 · via Minko Gechev's blog

Edit · May 28, 2024 · 5 minutes read · Follow @mgechev AGI Math AI LLM

Over the past few years, I have published most of my posts on blog.angular.dev and my blog has received little attention. Today, I decided to share something that has been on the mind lately. It’s inspired by a mixture of one of the most memorable moments from my university classes and the recent boom of AI. Through the lens of the theory of computation I’ll attempt to answer the question, “Are we going to be replaced by AI?”

If I were a YouTuber, I’d have said, “Make sure you read the article until the end to find the answer…Also, make sure you like and subscribe.” Luckily, I’m not a YouTuber, and I don’t want to lose your time, so if you’re looking for an answer, you better stop reading here. If you’d enjoy my brief rambling incorporating some of my limited understanding of mathematics and philosophy, please spend the next 3 minutes reading through.

A popular theorem shows that computers cannot solve all the problems. I’d not dig into a formal proof, but it pretty much goes like this:

  • The set of all the programs is at most countable. Since every computer program is represented by a finite list of characters, we can create a bidirectional mapping between each computer program and the set of natural numbers. We call sets with bidirectional mapping to the natural numbers countable.
  • The set of all the problems is uncountable. We can think of the problems as functions over real numbers because each real number would theoretically correspond to a solution. There are more real numbers than integers based on Cantor’s diagonal argument. The set of all the problems is an example of an uncountable set.
  • Therefore, there are more problems than programs…

All machine learning models operate on a classical von Neumann architecture based on the Turing machine. Even with a Turing machine with an infinite tape, we’ll be able to develop, at most, a countable number of programs; thus, even with a theoretical supercomputer based on this model, we’d not be able to solve all the problems. In practice, things are even more challenging since modern computers have finite memory.

You probably already see the connection with the question, “Are humans replaceable by AI?” What I love about math is that it’s very versatile, so we can create abstract models that are still helpful for specific use cases. To compare humans to AI, we can define a human as a function that receives an input and produces an output. My current hypothesis is that whether AI could replace humans depends on this function’s type signature. Does it operate over an uncountable or a countable set? Does it produce results from an uncountable or a countable set?

Just for simplicity, let’s refer to countable sets as N and uncountable as R. We can define four functions:

f(x) -> y, where x, y ∈ N, for short f(N) -> N
f(x) -> y, where x, y ∈ R, for short f(R) -> R
f(x) -> y, where x ∈ N, y ∈ R, for short f(N) -> R
f(x) -> y, where x ∈ R, y ∈ N, for short f(R) -> N

AI is f(N) -> N, and it could replace us if we’re also f(N) -> N.

To a large extent, our society operates under the assumption that we are indeed f(N) -> N. We believe we have a countable number of senses, we’re very much oriented to knowing a countable number of facts, and we read instructional books that help us act in a countable number of ways in a countable number of situations.

I wrote a book about Angular a few years ago, so I produced a countable number of characters. We can define a function that writes the optimal book based on humans’ collective understanding of an optimal book at a given time. If we are countable, our collective understanding would also be countable. The book’s content is countable by definition, meaning AI could replace book authors. Does that mean that we have just a few generations of book authors left, and after that, everything will be produced by AI? It depends if humans are f(R) -> N or f(R) -> R. The first means that AI will have to simplify the input in order to process it, and the second means that we’re limiting ourselves by expressing ideas in writing. Limiting ourselves in writing is probably the beauty of it because our imagination can fill the gaps.

Many individuals believe humans are f(R) -> R. It is the foundation of many spiritual beliefs and religions. If we are f(R) -> R indeed, then the output produced by AI would sometimes feel dissatisfying because it’ll be imprecise compared to the expectations of a human. Does this make AI impractical or a lost cause? I think that it does not. An output from a countable set is still large enough to provide an accurate estimation that is helpful to humans.

In conclusion, it’s hard to say if AI will replace humans or which humans, but I can take a shot at guessing what kind of function would best model us. Imagine having AI as a friend or partner. It would likely be reliable and more deterministic than humans, but likely dissatisfying. Over time, AI and robotics researchers may increase the spectrum of the AI’s inputs and outputs to make it an even closer approximation of a human. Still, my intuition says that’s already a sign that we might be working over uncountable sets.