banner

소식

May 28, 2023

구글 딥마인드의 게임

AI가 생성한 알고리즘은 이미 수백만 명의 개발자가 사용하고 있습니다.

DeepMind의 기초 컴퓨터 과학 분야 발견은 계속됩니다. 작년에 이 회사는 게임 플레이 AI AlphaZero 버전을 사용하여 다양한 종류의 코드의 핵심인 중요한 수학 계산 속도를 높이는 새로운 방법을 찾아 50년 된 기록을 깨뜨렸습니다.

이제 같은 수법을 다시 두 번 뽑았습니다. 영국에 본사를 둔 이 회사(4월 자매 회사의 AI 연구소와 합병한 후 최근 Google DeepMind로 이름이 변경됨)는 AlphaDev라는 AlphaZero의 새 버전을 사용하여 기존 최고의 제품보다 최대 70% 빠르게 목록의 항목을 정렬하는 방법을 발견했습니다. 방법.

암호화에 사용되는 키 알고리즘의 속도를 30% 높이는 방법도 찾았습니다. 이러한 알고리즘은 소프트웨어의 가장 일반적인 구성 요소 중 하나입니다. 작은 속도 향상으로도 비용 절감과 에너지 절약 등 큰 변화를 가져올 수 있습니다.

AlphaZero의 새 버전은 수천 가지 일상적인 컴퓨터 작업에 영향을 미치는 컴퓨팅의 핵심 문제인 행렬 곱셈을 수행하는 더 빠른 방법을 발견했습니다.

Google DeepMind의 연구원인 Daniel Mankowitz는 "칩이 근본적인 물리적 한계에 접근하고 있는 무어의 법칙이 끝나가고 있습니다."라고 말합니다. "우리는 컴퓨팅을 최적화하는 새롭고 혁신적인 방법을 찾아야 합니다."

독일 Karlsruhe Institute of Technology에서 효율적인 알고리즘의 설계 및 구현을 연구하고 작업에는 참여하지 않은 Peter Sanders는 "이것은 흥미롭고 새로운 접근 방식입니다."라고 말합니다. "정렬은 여전히 ​​컴퓨팅에서 가장 널리 사용되는 서브루틴 중 하나입니다."라고 그는 말합니다.

DeepMind는 오늘 Nature에 그 결과를 발표했습니다. 그러나 AlphaDev가 발견한 기술은 이미 수백만 명의 소프트웨어 개발자가 사용하고 있습니다. 2022년 1월 DeepMind는 세계에서 가장 인기 있는 프로그래밍 언어 중 하나인 C++를 관리하는 조직에 새로운 정렬 알고리즘을 제출했으며, 두 달 간의 엄격한 독립적 심사 끝에 AlphaDev의 알고리즘이 언어에 추가되었습니다. 이는 10여년 만에 C++ 정렬 알고리즘에 대한 첫 번째 변경 사항이자 AI를 사용하여 발견된 알고리즘이 포함된 최초의 업데이트였습니다.

DeepMind는 C++로 코딩하는 모든 사람이 사용할 수 있는 미리 작성된 C++ 알고리즘의 오픈 소스 컬렉션인 Abseil에 다른 새로운 알고리즘을 추가했습니다. 이러한 암호화 알고리즘은 모든 종류의 데이터에 대한 고유 ID로 사용할 수 있는 해시라는 숫자를 계산합니다. DeepMind는 자사의 새로운 알고리즘이 현재 하루에 수조 번 사용되고 있다고 추정합니다.

AlphaDev는 DeepMind가 바둑, 체스와 같은 게임을 마스터하기 위해 훈련한 강화 학습 모델인 AlphaZero를 기반으로 구축되었습니다. DeepMind의 획기적인 발전은 더 빠른 알고리즘을 찾는 문제를 게임으로 처리한 다음 AI가 승리하도록 하는 것이었습니다. 이는 작년 연구에서 계산 속도를 높이는 데 사용한 것과 동일한 방법입니다.

AlphaDev의 경우 게임에는 컴퓨터 명령을 선택하고 순서대로 배치하여 결과 코드 줄이 알고리즘을 구성하는 작업이 포함됩니다. 알고리즘이 정확하고 기존 알고리즘보다 빠르면 AlphaDev가 게임에서 승리합니다. 간단하게 들리지만, 잘 플레이하려면 AlphaDev가 천문학적인 수의 가능한 동작을 검색해야 합니다.

DeepMind는 컴퓨터 칩에서 숫자를 이동하는 방법에 대한 구체적인 지침을 제공하는 데 사용할 수 있는 프로그래밍 언어인 어셈블리를 사용하기로 결정했습니다. 집회에서 글을 쓰는 사람은 거의 없습니다. C++와 같은 언어로 작성된 코드가 실행되기 전에 번역되는 언어입니다. 어셈블리의 장점은 알고리즘을 세분화된 단계로 나눌 수 있다는 것입니다. 이는 지름길을 찾는 경우 좋은 출발점이 됩니다.

컴퓨터 칩에는 숫자가 입력되고 처리되는 다양한 슬롯이 있습니다. 어셈블리에는 컴퓨터에 슬롯 A에 있는 숫자를 슬롯 B로 이동하라고 지시하는 mov(A,B)와 컴퓨터에 다음을 확인하라고 지시하는 cmp(A,B)와 같이 이러한 슬롯에 있는 내용을 조작하기 위한 기본 지침이 포함되어 있습니다. 슬롯 A에 있는 내용은 슬롯 B에 있는 내용보다 작거나 같거나 큽니다. 이러한 명령어의 긴 시퀀스는 컴퓨터가 수행하는 모든 작업을 수행할 수 있습니다.

공유하다