AI루프를 설계하라/신상윤 저/한빛미디어

 

 책은 다른 사람의 사고나 경험을 간접 체험할 수 있는 매우 저렴한 수단이다. AI에 대한 감각을 계속 갱신하기 위해 여러 가지 책을 읽어보는 중이다. 하지만 여전히 눈에 거슬리는 몇몇 단어들이 전면에 있는 책 표지는 불편하다. 나에게는 하네스와 AI 루프, ○ ○ ○ 엔지니어링이 그러하다. 이 책은 그중 두 개를 제목에 내세웠다. 하네스, AI 루프.

 

처음에는 그냥 트렌드 추적용으로 생각하고 별 기대없이 책을 펼쳤는데, 다른 책들에서는 접하기 어려운 저자 자신만의 소프트웨어 개발 하네스와 루프에 대한 경험과 생각이 잘 정리되어 있어서 좋았다. 대부분의 책이 루프는 이런 것이야, 하네스는 이런 것이야에 머물러 있다면 현업에서 적극적으로 도입해 보면서 실제로 겪은 일을 기반으로 생각을 정리했다는 점에서 이 책은 가치가 있다고 생각한다. 저자의 생각에 100%까지는 동의하지 못하지만, 고민의 방향은 100% 동의한다. 저자분은 게임 개발을 근 20년 가까이하신 개발자. 나의 생각과 같든 다르든, 자신의 경험을 용기 있게(?) 공개하고 의견을 나누는 책들이 많이 출간되면 좋겠다.

 

이 책은 켄트백이었나 엉클밥이었나, 여튼 두 사람 중 한 명이 소개했던 Cucumber를 살펴보면서 스쳐지나갔던 Gherkin을  소개한다. 잘 사용하시는 분인 것 같다. 사고의 프레임워크로도 괜찮아 보이는데, 다시 한번 신규 서비스 개발 과정에 적극적으로 시도해 봐야겠다.  As.... I want to... So that.....처럼 Given... When.. Then..으로 요구사항을 검토하는 것도 왠지 전체적인 명세를 명확히 만들어가는데 도움이 될 것 같다.

 

 

책 읽으면서 밑줄친 부분...

  • 우리의 의도가 AI라는 컴파일러를 거쳐 기계가 실행할 수 있는 형태로 바꾸니 산출물에 가깝다.... 무엇을 만들 것인가에 대한 인간의 명확한 의도인 명세(Spec)와, 그 의도를 논리적으로 구조화한 설계(Design)가 본체이다.... 코드는 원본은 아니지만, 여전히 우리가 책임져야 할 결과물이다... 원본을  쥐고 있는 자가 시스템을 통제한다... 개발의 중심은 문법(syntax)에서 의도(Intent)로 이동했다.
  • 설계하려는 기능의 동작 의도를 Context, Trigger, Reaction으로 나누어 구조화된 명세에 담아야 한다.... 우리가 무심코 생략한 빈칸은 소프트웨어 결함의 서식지이자 AI의 추정이 시작되는 자리이다.... 빈칸은 엔지니어 먼저 채워야 한다. 그래야 AI도 우리가 정한 경계 안에서 코드를 만든다... AI는 인간이 정한 WHAT을 바탕으로 HOW의 실행(execution)을 맡는다.
  • Gherkin: Given/When/Then의 3단 구조는 기능의 동작을 조건, 행위, 결과로 나누어 작성하게 한다... 자연어 명세를 Gherkin 시나리오로 바꾸는 변환과정에서 작성자 스스로도 미처 인지하지 못했던 논리의 구멍을 발견할 수 있기 때문,.
  • 엔지니어의 실력은 AI가 추론해야 할 작업과 기계적으로 검증해야 할 작업을 명확히 분리하여 루프를 배치하는데에서 드러난다... 엔지니어는 흩어진 단서를 연결해 문제를 정의하는 지능이었고, 이슈 시스템과 터미널, IDE사이에서 데이터를 옮기는 하네스였으며, 가설을 세우고 검증을 반복하는 루프 그 자체였다... 흔적을 남기지 않는 루프는 같은 실수를 반복한다.
  • 하나의 태스크가 끝나면 세 종류의 기억이 남는다. 제품 코드가 어떤 경로로 실행되었는지, 에이전트가 어떤 과정을 거쳐 작업했는지, 다음 태스크가 무엇을 믿고 이어갈지를 각각 기록한다.
  • AI는 전달받은 코드와 문맥 안에서 논리적으로 타당한 결과를 만들었을 뿐이다. 문제는 제품의 역사적 배경과 암묵적인 비즈니스 규칙을 전송하지 않은 채 결과를 운영에 반영한 데 있다.... 아무리 부조리해 보이는 코드라도 운영 환경에서 실제로 어떻게 동작하는지 증거를 확보하기 전까지는 손대지 않아야 한다.
  • Mock을 많이 만든다고 해서 테스트하기 쉬운 구조가 되는 것은 아니다. 중요한 것은 외부 시스템과의 경계를 얼마나 작고 명확하게 통제하느냐다.... 절개선은 코드를 예쁘게 다듬기 위한 추상화가 아니다. 기존 동작을 검증하기 위해 테스트가 개입할 최소한의 통로이다.
  • 사람의 기억 속에 잠들어 있는 비즈니스 규칙을 기계가 넘지 못할 가드레일로 바꾸려면 누구나 읽을 수 있는 명확한 문장으로 선언해야 한다.

 

반응형

 

1판을 읽었던 게 얼마 되지 않은 것 같은데 벌써 3판이 나왔다. 그 사이 우리가 겪은 AI 기술의 발전 속도는 정말 놀라웠다. 하루 하루 새로운 개념과 접근법이 쏟아져 나왔다. 그동안 어떻게 가만히 목소리를 죽이고 있었을까 하는 생각이 들 정도였다. 분류와 회귀 예측이 주류였던 딥러닝 시대를 지나, 어느새 자연스럽게 생성(Generative AI)의 시대로 넘어왔다.

나는 딥러닝이나 AI를 전문적으로 공부하는 연구자가 아니다. 딥러닝이나 LLM의 결과물을 서비스에 활용하여 구현하는 개발자로서,  요즘 LLM 모델 연동 방식을 보면 API 한 줄로 호출하거나 허깅페이스에서 코드 몇 줄 긁어오면 그럴듯한 AI 기능이 뚝딱 구현된다. 그런데 '돌아만 가는 코드'나 단순 API 연동만으로는 한계가 분명하다. 현장에서만 발생하는 문제를 접하다 보면 내부 작동 메커니즘을 모르면 막힐 수밖에 없다. 그렇기에 그냥 왠만한 것은 LLM으로 해결되더라도 머리를 싸매가며 딥러닝 기초를 다시 파고들어 본다. 마침 10월 연휴가 있어서 이번 기회에 다시한번 리마인드하리라 결심했건만, 책을 끝까지 읽기가 쉽지 않다. 그래서 심기일전의 마음으로 지금까지 읽으면서 들었던 생각을 글로 정리하고 나머지 부분을 계속 이어 읽어 나가고자 한다.

 

밑바닥부터의 이해가 가져다 줄 직관을 위해...

예전에 자료구조나 알고리즘을 손수 입력해 보면서 공부했던 것이 일상의 작업에 당장 100% 활용되지 않는 것처럼 느껴질 때가 있었다. 특히 요즘처럼 AI가 코드를 대신 작성해 짜주는 시대에 예전처럼 손수 딥러닝 프레임워크를 파고드는 것이 무의미할 지도 모른다. 그런데 결국 엔지니어링이란 원하는 목표를 적기에 적정 비용으로 시장에 내놓아야하는 숙명을 타고났는지라, 이 책을 읽는다.

 

그런데 왜 하필 케라스일까? 사실 이 책의 원제에는 케라스라는 단어는 찾을 수 없다. 다만 케라스의 창시자라 불리는 프랑소와 숄레와 핵심 메인테이너인 매튜 왓슨이 적은 딥러닝 책이다. 창시자가 설명하는 내용은 매력적일 수 밖에 없다. 창시자란 뭔가 새로운 것을 만들어 냈다는 사실보다는 세상을 자신만의 관점으로 풀어내는 틀을 정리해냈단 점이 대단하다고 생각하는데, 그런 점에서 케라스의 창시자가 바라보는 관점은 생각의 갈피를 많이 제공해 준다. 숄레가 썼다고 해서 이 책을 단지 케라스 사용법으로 생각하면 오산이다. 개인적으로 3장이 마음에 들었는데, 선형 분류기를 주요 딥러닝 프레임워크인 텐서플로, 파이토치, JAX, 케라스에서 구현하면서 각 프레임워크의 지향점을 옅볼 수 있다. 그렇다고 케라스에 치우친 설명은 아니다.

 

 

AI 도구와 함께 하는 공부~

 

 

 

이번 3판을 보면서 1판을 함께 비교했는데, 내용이 겹치는 부분이 거의 없다. 숄레 말대로 완전히 새로 작성된, 이름만 같은 딥러닝 학습서이다. 특정 프레임워크에 갇히지 않고, 각 도구가 무엇을 추상화하고 노출하는지 구조적으로 보여주기 때문에 서비스 스택을 고민하는 개발자에게 폭넓은 안목을 제공하는 책이다.

 

여전히 진도는 더디게 나가고 술렁술렁 읽고 싶은 마음은 간절하지만, 그래도 곱씹어 가면서 차근차근 읽어나갈 생각이다. 아우~ 대체 2장과 4장을 몇번째 읽는건지 모르겠다. 점점 멍청해지는 나 자신이 느껴진다. 그나마 원서도 웹사이트로 제공되고 있어서, Ask Gemini 기능을 이용하여 잘 이해되지 않는 부분을 물어가면서 하나씩 격파해 나가고 있다.

 

책을 읽다가 지친 마음을 달랠 겸 19장 AI의 미래과 20장 결론 부분을 먼저 읽었다. "단순한 스케일업만으로는 진정한 지능(AGI)에 도달하기 어렵다"며 딥러닝의 명확한 한계와 일반화의 본질을 언급한다. 거품 가득한 마케팅 용어에 휘둘리지 않고 기술의 현주소를 냉철하게 바라보는 전문가의 묵직함이 느껴진다.

 

조금 더 읽어 나가다 보면 트랜스포머를 결국 만나게 될 것이다. 분발해서 끝까지 읽어보자. 이 책을 끝까지 읽고 나면 내가 만들고 싶었던 문제 도메인의 SLM 모델을 직접 학습시키면서 만들고, 이를 최적의 구조로 서비스할 수 있지 않을까(사이드 프로젝트로 진행하는 것이라 비용이 문제인데, 비용 최적화된 딥러닝 모델을 만들어 볼테다.)

 

나는 1장부터 7장, 19장~20장을 먼저 읽고, 8장부터는 사례 학습(이미지 분류, 구분, 감지, 시계열 예측, 텍스트 분류, 트랜스포머, 텍스트 생성, 이미지 생성) 순으로 읽어가는 중이다. 함께 읽어가고 있는 분들이 있다면 으쌰으쌰 같이 정리하면서 끝까지 완독해 보자!!! 

 

같은 출판사에서 나온 <밑바닥부터 만들면서 배우는 LLM>과 한빛미디어의 <혼자 공부하는 딥러닝>책을 곁들이면 좋을 것 같다. 그러고보니 모든 책이 박해선님이 번역하신 책이네. 덕분에 잘 보고 있습니다~

 

뱀꼬리> 최근 여러 출판사에서 딥러닝 프레임워크, 특히 파이토치에 관한 책이 출간되고 있는데, 그 이유가 궁금합니다. 혹시 제 블로그를 찾아주시는 분들 중에 의견 달아주실 분 있으실까요? 한빛미디어에서도 <핸즈온머신러닝w/사이킷런,파이토치>가 나왔고, 더타이즈에서도 <멀티모달까지 직접구현하는 딥러닝 w/ 파이토치>도 나오고 해서요.

 

 

구글 노트북LM이 원서 사이트를 읽고 완독을 자극하는 슬라이드를 만들어 줌...

 

반응형

+ Recent posts