문화

Jul 12, 2023

문화

역사에서 배우기

  • 서상현

    소프트웨어 엔지니어

Jul 12, 2023

문화

역사에서 배우기

  • 서상현

    소프트웨어 엔지니어

역사에서 배우기

최근 반년 사이 급속하게 세간의 화제가 된 ChatGPT를 비롯한 거대 언어 모델들은 사실 어느날 갑자기 하늘에서 뚝 떨어진 것이 아닙니다. 차곡차곡 누적된 기술의 발전이 어떤 변곡점에 도달하면서 급속하게 사회를 변화시키는 것은 역사적으로 많이 봐왔던 일이죠. 전혀 다른 시대와 다른 맥락에서 발전한 기술들이 그러한 변곡점에 도달하는 과정은 때로는 놀랍도록 유사한 모습을 보여주기도 합니다.


인류는 오랫동안 하늘을 날고 싶어했습니다. 문명 6이 "하늘을 나는 꿈"을 주제가로 삼은 것은 우연이 아닙니다.

라이트 형제는 어떻게 이 꿈을 이루게 되었을까요? 1899년 윌버 라이트는 스미스소니언 재단에 편지를 보내 비행기에 대해 알려진 내용을 보내달라고 요청합니다. 세 달간 전달받은 자료를 검토한 윌버는 비행이라는 문제가 있을 뿐이지 비행에 대해 알려진 것은 별로 없다는 결론을 내립니다. 그럴싸한 이론이 거짓으로 밝혀지고 그럴 법하지 않은 이론이 참으로 밝혀졌기 때문에, 직접 확인하지 않은 내용은 믿을 수 없다고 그는 적었습니다.

문헌 조사에서 윌버가 알고자 한 것은 이러한 것이었습니다. 하늘을 날기 위해서는 무엇을 알아야 하는가? 그 중 무엇이 이미 알려져 있는가? 풀어야할 남은 문제는 무엇인가? 놀랍게도 윌버는 문헌 조사로부터 이 모든 질문에 대한 답을 내릴 수 있었는데, 그것은 다른 경쟁자들은 하지 못한 일이었습니다.

윌버는 1901년의 강연에서 자신의 결론을 이렇게 정리했습니다. "비행에는 세 가지 문제가 있습니다. 비행기가 뜨기 위해 날개가 필요하고, 비행기가 나아가기 위해 엔진이 필요하며, 비행기를 조종할 방법이 필요합니다."1

윌버는 날개의 문제와 엔진의 문제는 어느정도 이미 해결되었기 때문에, 조종의 문제를 풀어야 한다고 보았습니다. 비행기 조종의 문제를 풀기 위해서는 비행기가 필요했는데, 비행기를 만들기 위해서는 비행기 조종의 문제를 풀어야 하는 상황이었습니다. 윌버는 글라이더에서 조종의 문제를 품으로써 비행기 조종의 문제를 풀 수 있다는 결론을 내렸습니다.

글라이더 실험을 위해서는 높은 언덕과 강한 바람이 필요했으며, 실험자의 안전을 위해 모래 언덕이어야 했습니다. 1900년 윌버는 기상청에 자료를 요청해 미국에서 가장 바람이 센 곳들을 검토했습니다. 키티 호크 기상대의 직원은 기상대 옆 해변에 장애물이 없으며 실험에 적합할 것이라는 답장을 보내왔습니다.2

1901년의 실험은 실망스러웠습니다. 날개의 양력이 충분하지 않았던 것입니다. 라이트 형제는 날개의 면적을 계산하기 위해 오토 릴리엔탈의 데이터를 사용했는데, 그 정확도에 의심을 가지게 되었습니다.

실험 데이터를 분석한 결과, 그들은 오토 릴리엔탈을 포함하여 100년 넘게 의심 없이 사용되어 왔던 존 스미턴의 비례 상수 값이 잘못되었다는 결론을 내렸습니다.

많은 시간과 노력이 소모되는 글라이더 실험을 하지 않고 날개의 양력을 체계적으로 분석하기 위해, 라이트 형제는 풍동 실험 장치를 만들었습니다. 분석 결과, 오토 릴리엔탈의 데이터는 잘못된 비례 상수 값을 제외하면 정확했지만, 오토 릴리엔탈이 사용한 날개는 비효율적이었습니다.

이러한 분석을 바탕으로 만들어진 1902년의 글라이더는 수정된 스미턴 상수의 값을 상쇄하기 위해 면적이 더 넓어졌으며 효율을 높이기 위해 모양이 더 평평해졌습니다. (날개의 편평도를 1/12에서 1/24로 바꾸었습니다.) 새 글라이더는 아주 잘 날았습니다.

이리하여 라이트 형제는 1903년 키티 호크에서 역사적인 첫 비행을 성공시킬 수 있었던 것입니다.


인류는 오랫동안 기계와 대화하고 싶어했습니다. 수많은 과학 소설과 영화들이 증거하고 있습니다.

OpenAI는 AI를 만들기 위해 세 가지 문제를 풀어야 했습니다. 컴퓨팅 인프라와 모델과 데이터입니다. 컴퓨팅 인프라가 엔진에, 모델이 날개에, 데이터가 조종에 대응한다고 볼 수 있습니다.

컴퓨팅 인프라를 관리하기 위해 OpenAI는 Kubernetes를 사용했는데, 그렇다고 그냥 가져다 쓸 수 있는 것은 아니었습니다. 2,500 노드가 되자 리눅스 커널 ARP 캐시가 넘치는 문제가 생겼고,3 7,500 노드가 되자 anti-affinity를 사용하기 위해 Kubernetes의 버그를 고쳐야 했습니다.4

(광고: 래블업의 Backend.AI는 AI의 훈련과 추론을 위한 대규모 클러스터들에 이미 실제로 사용되어 여러가지 스케일링 문제들을 풀었고, 자체 스케줄링 알고리즘을 구현하여 affinity나 anti-affinity 등의 기능을 지원하고 있습니다.)

비행기의 양력 방정식에 해당하는 것이 AI의 scaling law입니다. 양력 방정식이 날개의 양력을 날개의 면적과 양력 계수, 비례 상수로 설명하는 것처럼, scaling law는 AI 모델의 loss를 모델의 크기와 데이터의 크기, 멱함수 지수로 설명합니다.

라이트 형제가 존 스미턴의 비례 상수가 0.005가 아니라 0.003이라는 것을 발견한 것처럼, scaling law의 멱함수 지수는 처음에는 0.73인 것으로 생각되었지만5 실제로는 0.50인 것으로 밝혀졌습니다.6 잘못된 값이 계산된 것은 데이터의 크기에 따라 learning rate를 조정하지 않았기 때문입니다.

OpenAI는 모델의 제어가 중요한 문제라는 것을 알고 있었기 때문에, 첫 번째 GPT를 훈련하기 전에 이미 사람의 선호로부터 강화 학습을 하는 연구를 진행하고 있었습니다.7 이때는 로봇의 제어에 적용했는데, 라이트 형제가 비행기의 조종을 위해 새의 비행을 참고하고 비행기 대신 글라이더에 먼저 적용한 것을 연상시킵니다.

이러한 연구를 언어 모델에 적용하기 위해 사람의 선호 데이터를 수집하여 InstructGPT가 나왔습니다.8 GPT-4 이후로 OpenAI가 연구 내용을 공개하고 있지 않기 때문에 정확히 알기는 어렵지만, 명시적인 피드백이 아니라 사용자가 생성을 재시도하거나 대화를 계속하고 중단하는 등의 암시적인 피드백으로부터도 학습할 수 있다는 연구 결과들이 나오고 있습니다.9 그렇다면 OpenAI는 모델을 향상시켜 사용자를 모으고 사용자를 모아 모델을 향상시키는 양성 되먹임 고리를 만들어낼 수 있을 것입니다.


이번 글에서는 인류가 하늘을 날게 된 과정과 기계와 대화하게 된 과정을 비교하여 살펴보았습니다. 기술 발전 과정을 보면 이렇게 역사적으로 매우 유사한 패턴들을 볼 수 있지요.

앞으로 AI 기술이 발전하고, 이를 보다 많은 사람들이 사용할 수 있게 하는 노력 속에서 또 어떤 사례들이 나올까요? 래블업과 Backend.AI는 그러한 과정을 더욱 가속화하여 사람들이 역사로부터 배운 것을 보다 빨리 실험하고 실현할 수 있게 도울 수 있을까요? 이러한 변곡점의 한 가운데에서 생각에 잠겨봅니다.

Footnotes

  1. Some Aeronautical Experiments (Wilbur Wright, 1901).

  2. Letter from J. J. Dosher, Weather Bureau, to Wilbur Wright, August 16, 1900.

  3. Scaling Kubernetes to 2,500 nodes, January 18, 2018.

  4. Scaling Kubernetes to 7,500 nodes, January 25, 2021.

  5. Scaling Laws for Neural Language Models, January 23, 2020.

  6. Training Compute-Optimal Large Language Models, March 29, 2022.

  7. Deep reinforcement learning from human preferences, June 12, 2017.

  8. Training language models to follow instructions with human feedback, March 4, 2022.

  9. Rewarding Chatbots for Real-World Engagement with Millions of Users, March 10, 2023.

도움이 필요하신가요?

내용을 작성해 주시면 곧 연락 드리겠습니다.

문의하기

Headquarter & HPC Lab

서울특별시 강남구 선릉로100길 34 남영빌딩 4층, 5층

© Lablup Inc. All rights reserved.