차세대 컴파일러


기술의 발전은 높은 기대, 좌절, 그리고 개선의 패턴을 따릅니다. 컴파일러와 고급 언어의 발전이 이러한 패턴을 잘 보여줍니다. 고급 언어가 등장했을 때, 많은 사람들이 이것이 프로그래밍을 단순화하고 기술적 전문성의 필요성을 줄일 것이라고 믿었습니다. 하지만 이러한 기술들은 프로그래밍 언어 연구자들에게 새로운 기회를 만들어냈습니다. 자연어 프로그래밍의 시대가 도래하여 프로그래밍 언어와 인간 소통 사이의 경계가 모호해지고 있습니다. 이러한 변화가 프로그래밍 언어 연구를 무용지물로 만들까요? 전혀 그렇지 않습니다. 새로운 기술은 새로운 도전 과제를 가져오며, 특히 자연어 명세와 코드 구현 사이의 격차가 그렇습니다.…
Read more ⟶

튜링 테스트 V2


인공일반지능(AGI)은 본질적으로 모호하고 제대로 정의되지 않은 개념으로 남아있습니다. 현재까지 AGI에 대한 공식적인 합의는 존재하지 않으며, 연구자들은 각자의 해석에 따라 AGI를 정의하고 있습니다. 하지만 AGI를 엄밀한 과학적 담론으로 끌어올리기 위해서는 정확한 정의가 필수적입니다. 그렇다면 AGI를 어떻게 명확하고 형식적으로 정의할 수 있을까요? 이 글에서 저는 AGI를 인류가 지금까지 해결한 모든 문제를 해결할 수 있는 인공지능으로 정의할 것을 제안합니다. 예를 들어, 그러한 AI는 튜링이 해결한 모든 문제를 해결할 수 있어야 합니다. 이 프레임워크에서 중요한 제약 조건은 학습 데이터에 관한 것입니다: AI는 튜링의 생전에 이용 가능했던 지식이나 그 시대의 지식만을 학습할 수 있으며, 현대의 지식에는 접근할 수 없습니다.…
Read more ⟶

LLM이 리눅스 커널에 기여하기 위해 필요한 것


프로그래밍은 AI의 가장 대표적인 활용 방법 중 하나다. 여기에는 크게 2가지 접근법이 있다. 첫째는 ChatGPT처럼 코드를 자연어 지시 사항에 맞춰 처음부터 끝까지 작성하는 것이고, 둘째는 Copliot처럼 기존 코드 저장소 상에서 짧은 코드를 작성하는 것이다. 이 두 가지 방법은 결국 합쳐지게 될 것이다. ChatGPT의 경우 자연어 지시사항만이 주어지기 때문에 대규모 코드 저장소의 맥락을 전혀 알지 못한다. Copliot은 짧은 길이의 코드만을 생성하기 때문에 사실상 현재 작성 중인 코드 혹은 최근에 편집했던 파일 정도만 문맥으로 사용해도 충분히 생성할 수 있다.…
Read more ⟶