AI의 학습 데이터와 과정

 두 번째 단계, AI의 학습 데이터와 과정으로 넘어가겠습니다. AI가 어떻게 코드를 배우는지, 그 비밀의 식재료를 살펴보는 시간이죠.

사람이 훌륭한 개발자가 되려면 좋은 책을 읽고, 많은 실전 코드를 보고, 다른 사람의 코드를 분석해야 하잖아요? AI도 똑같습니다. AI의 '교과서'이자 '실전 연습장'은 바로 인터넷에 공개된 방대한 양의 데이터입니다.

특히, 깃허브(GitHub) 와 같은 오픈소스 코드 저장소가 AI에게는 가장 중요한 교재라고 할 수 있어요.

  • 깃허브(GitHub)란? 전 세계 개발자들이 자신이 만든 코드를 공유하고, 다른 사람들과 함께 협업하며 발전시키는 거대한 온라인 공간입니다. 일종의 '코드 도서관'이라고 생각할 수 있죠.

이 '코드 도서관'에는 수십억 줄이 넘는 실제 작동하는 코드와 함께, 그 코드에 대한 설명(주석), 그리고 어떤 문제를 해결하기 위한 코드인지에 대한 토론 내용까지 담겨 있습니다. AI는 이 모든 것을 학습하며, 다음과 같은 것들을 익힙니다.

  • 다양한 프로그래밍 언어의 문법: "파이썬에서는 이렇게 출력하는구나.", "자바스크립트에서는 함수를 이렇게 만드는구나."
  • 코딩 패턴과 로직: "로그인 기능은 보통 이런 순서로 만드는구나."
  • 좋은 코드 스타일: "사람들이 이해하기 쉽게 코드를 짜려면 변수 이름을 이렇게 짓는구나."
  • 자연어와 코드의 연결: " '사용자 목록 보여줘'라는 말은 이런 코드로 구현되는구나."

결국 AI는 전 세계 수많은 개발자들의 집단 지성을 통째로 학습해서, 특정 상황에 어떤 코드가 가장 적절할지에 대한 패턴을 익히게 되는 것입니다.

이제 AI의 교과서가 무엇인지는 알았는데, 그럼 어떤 방식으로 '공부'를 하는 걸까요? 이어서 AI의 공부법에 대해 알아볼까요?


AI의 '교과서'가 깃허브 같은 코드 저장소라는 것을 알았으니, 이제 AI의 '공부법'을 알아볼 차례입니다.

AI의 공부법은 의외로 간단한 게임과 비슷해요. 바로 '다음에 올 내용 예측하기' 와 '빈칸 채우기' 게임입니다.

AI는 수많은 코드와 문장을 보면서 이런 퀴즈를 스스로 수십억 번씩 풀게 됩니다.


1. 다음에 올 내용 예측하기 예를 들어, AI에게 for i in range(10): 라는 코드를 보여주고 "그다음엔 뭐가 올까?" 하고 물어보는 식이죠. 수많은 코드를 학습한 AI는 높은 확률로 print(i) 나 if ... 같은 코드가 올 것이라고 예측합니다.


2. 빈칸 채우기 (Masking) def ____(name): 처럼 코드의 일부를 가려놓고(마스킹) "빈칸에 들어갈 단어는 뭘까?" 하고 맞추게 합니다. AI는 'name'이라는 인자를 받는 것으로 보아, 이 함수는 사람의 이름을 환영하는 함수일 것이라고 추측하고 빈칸에 hello 나 greeting 같은 단어를 예측하죠.

이런 예측이 맞으면 '상점'을 받고, 틀리면 '벌점'을 받으면서 AI는 점점 더 정확하게 코드의 패턴과 문맥을 이해하게 됩니다. 이 과정을 무수히 반복하면서 사람처럼 생각하고 코드를 작성하는 능력을 기르는 거예요.

자, 그럼 이번에도 AI의 학습법을 직접 체험해 볼까요?


AI 공부법 체험 퀴즈!

제가 파이썬(Python) 코드의 한 부분을 보여드릴게요. 빈칸에 무엇이 들어가야 할지 예측해 보세요.


fruits = ["사과", "바나나", "딸기"]

for fruit in ______:

    print(fruit)


위 코드의 빈칸 ______ 에는 어떤 단어가 들어가야 사과, 바나나, 딸기가 차례대로 출력될까요?



바로 fruits가 들어가야 하죠. 훌륭해요! 💯

방금 하신 것이 바로 AI의 학습 방식과 똑같습니다. AI는 for ... in ...: 과 같은 패턴을 수백만 번 보면서, in 다음에는 반복할 대상(리스트나 튜플 같은 자료구조)이 온다는 것을 학습합니다. 그래서 fruits라는 리스트가 바로 위에 선언된 것을 보고, 빈칸에 fruits가 들어갈 확률이 가장 높다고 예측하는 거죠.

자, 이제 우리는 AI가 무엇인지(LLM), 무엇으로 공부하는지(오픈소스 코드), 어떻게 공부하는지(패턴 예측)까지 모두 알게 되었습니다.

그럼 이제 가장 흥미로운 부분으로 넘어가 볼까요? 바로 세 번째 단계, 이렇게 똑똑해진 AI를 실제 코딩에 어떻게 활용하는지 알아보는 시간입니다! 코드 자동 완성부터 오류 수정까지, AI가 어떻게 개발자들의 '슈퍼 조수'가 되는지 궁금하지 않으신가요?

Comments

Popular posts from this blog

AI 코딩

AI 코딩의 장점과 한계

Chrome OS - Vanilla Nightly Builds