한편으로는 안드레이 카르파티가 끊임없이 새로운 개념을 만들어내는 것을 좋아하지 않지만, 다른 한편으로는 그의 아이디어 중 상당수가 실제로 가치 있다는 것을 인정해야겠습니다. 예를 들어, 여기에서 소프트웨어 1.0/2.0의 정의는 매우 좋습니다. 1) 소프트웨어 1.0 시대에는 자동화하기 쉬운 일은 컴퓨터에 어떻게 해야 할지 명확하게 알려줄 수 있는 일이었습니다. 2) 소프트웨어 2.0 시대에 자동화하기 쉬운 것은 결과가 좋은지 나쁜지를 자동으로 검증하는 기능입니다. 그러면 여기서 자동화란 무엇을 의미할까요? 1. 소프트웨어 1.0: 지정된 규칙에 따른 자동화. 지난 수십 년 동안 우리가 사용해 온 모든 기존 소프트웨어(예: Excel, Word, 회계 시스템)는 "소프트웨어 1.0"이었습니다. 핵심 논리는 "지정"입니다. 꼼꼼한 관리자처럼 모든 규칙을 명확하게 코드로 작성해야 합니다. 예를 들어, 회계 소프트웨어를 개발할 때는 다음과 같이 알려줘야 합니다. "A열의 숫자가 B열의 숫자보다 크면 C열은 빨간색으로 표시됩니다." "매월 말에 D열의 모든 숫자를 더하여 Z열에 적습니다." 소프트웨어 1.0은 어떤 면에서 탁월할까요? 고정된 규칙과 명확한 논리로 작업을 자동화하는 것입니다. 소프트웨어 1.0은 어떤 문제를 해결했을까요? 인간의 "반복적이고 기계적인 노동" 문제를 해결했습니다. 예를 들어, 타이피스트, 회계사, 회계 담당자 등이 있습니다. 작업의 전체 과정을 명확하게 설명할 수 있다면 소프트웨어 1.0이 그 일을 대신할 수 있습니다. 2. 소프트웨어 2.0: 지정된 목표에 따른 자동화. 이제 AI가 도래했고, 소프트웨어 2.0으로 업그레이드되었습니다. 논리가 완전히 바뀌었습니다. 더 이상 규칙을 정하지 않고 목표를 설정합니다. 우리는 AI에게 감독자처럼 각 단계를 어떻게 수행해야 하는지 말하는 대신, 코치처럼 행동하여 단지 수용 기준이 무엇인지 알려줍니다. 예를 들어, AI에게 체스를 두도록 훈련할 때, 우리는 AI에게 "상대가 이 수를 두면, 반드시 저 수를 둬야 한다"라고 말하지 않습니다. 우리는 AI에게 단 하나의 목표, "게임에서 이길 방법을 찾아라"만을 줍니다. 그러면 AI는 스스로 승리할 수 있는 수를 찾기 시작합니다. 엄청난 양의 자가 플레이(즉, 경사 하강법)를 통해 최적의 전략을 탐색합니다. 이것이 AK의 핵심 아이디어입니다. 소프트웨어 1.0은 우리가 수동으로 프로그램을 작성하는 것이고, 소프트웨어 2.0은 AI가 자동으로 프로그램을 검색하고 생성하는 것입니다. 3. 소프트웨어 1.0 시대에는 '명세 가능성'에 초점이 맞춰졌지만, 2.0 시대에는 '검증 가능성'에 초점이 맞춰졌습니다. 소프트웨어 1.0 자동화 작업에 대한 표준을 명확한 규칙을 지정할 수 있는지 여부라고 한다면, 예를 들어 자동 웹 크롤러를 작성하고 싶다면 명확한 크롤링 규칙과 구문 분석 규칙만 지정하면 됩니다. 소프트웨어 2.0 자동화 작업의 기준은 결과를 자동으로 검증할 수 있는지 여부입니다. "검증 가능성"이란 AI가 작업에 대해 효율적인 "의도적인 연습"을 수행할 수 있는지 여부를 말합니다. AK는 "검증 가능성"에 대한 세 가지 핵심 조건을 제공합니다. 1) 재설정 가능 AI는 무제한으로 재시작할 수 있어야 합니다. 예를 들어 체스에서는 게임에서 져도 상관없습니다. 판이 정리되면 즉시 다음 게임을 시작할 수 있습니다. 2) 높은 효율성 AI는 인간을 훨씬 뛰어넘는 속도로 연습해야 합니다. 인간이 평생 다 볼 수 없는 영상을 한 시간 만에 "시청"하고, 하루에 수백만 판의 체스를 두는 것도 가능합니다. 3) 보상 가능 이것이 가장 중요한 점입니다. 자동화되고 즉각적이며 논란의 여지가 없는 보상 및 처벌 메커니즘이 있어야 합니다. 자동화는 필수적입니다. AI가 작업을 완료할 때마다 인간 전문가가 오랜 시간 검토하고 모호한 평가(예: "음, 이 아이디어는 괜찮은 것 같네요")를 내려야 한다면, AI는 효율적으로 학습할 수 없습니다. 프로그래밍이나 수학과 같은 분야에서는 위의 세 가지 조건을 충족하기 쉽지만, 글쓰기와 같은 표준화되지 않은 분야에서는 이를 검증하기 어렵습니다. 그러나 소프트웨어의 경우, 좀 더 복잡한 소프트웨어 시스템이 검증 가능한 표준을 충족하는 것은 실제로 매우 어렵습니다. 예를 들어, UI를 구현할 때 UI 디자인 초안을 AI에 전달하고 스크린샷 도구를 제공하여 반복적으로 스크린샷을 찍고 디자인 초안과 비교한 후 차이점을 찾아 최적화하도록 합니다. 하지만 현재 AI의 역량으로는 이러한 차이점을 수정하기에 충분하지 않기 때문에 아무리 오래 실행하더라도 이상적인 결과를 얻기는 어렵습니다. 이것이 제가 AK가 발명한 새로운 개념을 별로 좋아하지 않는 이유일 수도 있습니다. 그들은 항상 하나의 개념을 내놓지만, 많은 문제를 해결하지는 못합니다.
일러스트가 정말 좋네요 👍
