오늘 밤 저는 실제로 DeepMind의 AlphaCode 페이퍼 를 읽고 제공된 예제 콘테스트 문제를 살펴보고 제가 그 문제를 어떻게 해결했는지, AlphaCode가 어떻게 해결했는지 이해하는 시간을 가졌습니다.
정말 놀랍습니다.
예를 들어 "n명의 가수" 챌린지를 고려하십시오(59-60페이지). 이 문제를 잘 해결하려면 먼저 다소 복잡한 영어 설명을 구문 분석하고 가수에 대한 관련 없는 보풀은 버리고 선형 시스템에 대한 양의 정수 솔루션(있는 경우)을 찾아야 한다는 것을 파악해야 합니다. 행렬은 다음과 같습니다 .
1 2 3 4
4 1 2 3
3 4 1 2
2 3 4 1.
다음으로 이러한 시스템을 가우스 소거법 없이 풀기 위한 트릭을 찾아야 합니다. 마지막으로, 해당 트릭을 구현하는 코드를 생성하고, 행렬의 가장자리에서 랩어라운드를 올바르게 처리하고, 양의 정수 솔루션이 존재하지 않는 여러 가지 가능한 이유로 "NO"를 깨고 반환해야 합니다. 아, 또한 입력을 올바르게 구문 분석합니다.
예, 저는 AlphaCode가 각 챌린지에 대해 백만 개의 후보 프로그램을 생성한 다음 제공된 예제 데이터에서 작동하지 않는지 확인하여 대다수를 버리고 남은 수천 개의 후보 중에서 선택하기 위해 영리한 트릭을 사용해야 한다는 것을 알고 있습니다 . . 나는 그것이 수만 개의 경연 문제와 그 문제에 대한 수백만 개의 솔루션에 대해 훈련되었다는 것을 알고 있습니다. 나는 그것이 "단지" 경연 문제의 약 1/3을 해결하여 이러한 문제에 대한 평범한 인간 프로그래머와 유사하다는 것을 알고 있습니다. 나는 그것이 완전한 영어 문제 사양과 예제 입력 및 출력이 항상 제공되는 프로그래밍 경연의 인위적인 영역에서만 작동한다는 것을 알고 있습니다.
모든 것을 잊어 버리십시오. 20~25년 전 AI가 있었던 곳으로 판단하면 내가 학생이었을 때 개가 이제는 영어로 의미 있는 대화를 나누고 있다. 그리고 사람들은 개가 아주 유창한 웅변가가 아니며, 종종 문법 오류를 범하고 다시 시작해야 하며, 훈련하는 데 영웅적인 노력이 필요하며 개가 실제로 얼마나 이해하는지 불분명하다고 불평하고 있습니다.
프로그래밍 경연 문제를 해결하는 것에서 인류를 정복하는 것 등으로 어떻게 가는지는 분명하지 않지만 이제 우리는 "프로그래밍"이 다르게 보일 세계에 진입했다고 확신합니다.
업데이트: 제 동료는 AlphaCode가 생성해야 하는 후보 프로그램의 수인 100만 개는 생성된 프로그램의 라인 수에서 대략 기하급수적으로 보일 수 있다고 지적합니다. 그렇다면 이것은 DeepMind가 AI 코드 생성에서 일부 작업(양자 우위 실험에서와 같이)에서 경쟁력이 있는 비내결함성 양자 컴퓨터와 거의 정확히 동등한 것을 생성했다는 관점을 제시합니다. 즉, 분명히 매우 중요하지 않은 작업을 수행하지만 "신호"는 명령의 수에 따라 여전히 기하급수적으로 감소하고 있으므로 신호를 추출하기 위해 기하급수적인 반복 횟수가 필요하고 확장할 수 있는 프로그램의 크기에 제한이 부과됩니다.
정말 놀랍습니다.
예를 들어 "n명의 가수" 챌린지를 고려하십시오(59-60페이지). 이 문제를 잘 해결하려면 먼저 다소 복잡한 영어 설명을 구문 분석하고 가수에 대한 관련 없는 보풀은 버리고 선형 시스템에 대한 양의 정수 솔루션(있는 경우)을 찾아야 한다는 것을 파악해야 합니다. 행렬은 다음과 같습니다 .
1 2 3 4
4 1 2 3
3 4 1 2
2 3 4 1.
다음으로 이러한 시스템을 가우스 소거법 없이 풀기 위한 트릭을 찾아야 합니다. 마지막으로, 해당 트릭을 구현하는 코드를 생성하고, 행렬의 가장자리에서 랩어라운드를 올바르게 처리하고, 양의 정수 솔루션이 존재하지 않는 여러 가지 가능한 이유로 "NO"를 깨고 반환해야 합니다. 아, 또한 입력을 올바르게 구문 분석합니다.
예, 저는 AlphaCode가 각 챌린지에 대해 백만 개의 후보 프로그램을 생성한 다음 제공된 예제 데이터에서 작동하지 않는지 확인하여 대다수를 버리고 남은 수천 개의 후보 중에서 선택하기 위해 영리한 트릭을 사용해야 한다는 것을 알고 있습니다 . . 나는 그것이 수만 개의 경연 문제와 그 문제에 대한 수백만 개의 솔루션에 대해 훈련되었다는 것을 알고 있습니다. 나는 그것이 "단지" 경연 문제의 약 1/3을 해결하여 이러한 문제에 대한 평범한 인간 프로그래머와 유사하다는 것을 알고 있습니다. 나는 그것이 완전한 영어 문제 사양과 예제 입력 및 출력이 항상 제공되는 프로그래밍 경연의 인위적인 영역에서만 작동한다는 것을 알고 있습니다.
모든 것을 잊어 버리십시오. 20~25년 전 AI가 있었던 곳으로 판단하면 내가 학생이었을 때 개가 이제는 영어로 의미 있는 대화를 나누고 있다. 그리고 사람들은 개가 아주 유창한 웅변가가 아니며, 종종 문법 오류를 범하고 다시 시작해야 하며, 훈련하는 데 영웅적인 노력이 필요하며 개가 실제로 얼마나 이해하는지 불분명하다고 불평하고 있습니다.
프로그래밍 경연 문제를 해결하는 것에서 인류를 정복하는 것 등으로 어떻게 가는지는 분명하지 않지만 이제 우리는 "프로그래밍"이 다르게 보일 세계에 진입했다고 확신합니다.
업데이트: 제 동료는 AlphaCode가 생성해야 하는 후보 프로그램의 수인 100만 개는 생성된 프로그램의 라인 수에서 대략 기하급수적으로 보일 수 있다고 지적합니다. 그렇다면 이것은 DeepMind가 AI 코드 생성에서 일부 작업(양자 우위 실험에서와 같이)에서 경쟁력이 있는 비내결함성 양자 컴퓨터와 거의 정확히 동등한 것을 생성했다는 관점을 제시합니다. 즉, 분명히 매우 중요하지 않은 작업을 수행하지만 "신호"는 명령의 수에 따라 여전히 기하급수적으로 감소하고 있으므로 신호를 추출하기 위해 기하급수적인 반복 횟수가 필요하고 확장할 수 있는 프로그램의 크기에 제한이 부과됩니다.
https://scottaaronson.blog/?p=6288