LLM как компиляторы ( resync-games.com )
У меня была точно такая же мысль! Причина, по которой мы перешли с более высокого уровня на более высокий уровень языка программирования, заключается в том, чтобы людям было проще описывать машине то, что мы хотим, чтобы она делала. Вот почему языки семантически проще и легче читать js > cpp > c > assembly > машинный код (субъективно, да, да, вы поняли). Вполне логично полагать, что естественный язык, интерпретируемый LLM, является следующим шагом в этой эволюции.
Мой прогноз: через 10 лет мы увидим, как LLM будут генерировать машинный код напрямую, как обычный компилятор. Языком программирования будет контекст, предоставленный инженером контекста.
Обычный компилятор не генерирует машинный код напрямую. Обычный компилятор генерирует код LLVM IR. LLVM генерирует ассемблерные листинги. Ассемблер генерирует машинный код. Вы можете написать компилятор, который выводит машинный код напрямую, но эта многоуровневая трансляция существует не просто так. По моему мнению, LLM может быть использован для генерации некоторого кода Python в далеком-далеком будущем, если проблема с детерминированной генерацией будет решена. Но генерация машинного кода не имеет особого смысла. Сегодня LLM использует внешние инструменты для вычисления суммы чисел, потому что они очень плохи в детерминированных вычислениях.
Поскольку LLM не детерминированы, разве это не невозможно? Что удержит его от бесконечных итераций туда-сюда между двумя неудачными состояниями? Это проблема остановки?
Source: news.ycombinator.com