UX/UI 디자이너를 위한 실무 피그마 - 디자인 시스템에서 개발 전달까지, 3판
클레어 정 지음 / 한빛미디어 / 2025년 5월
평점 :
장바구니담기


피그마의 실전 활용법을 담은 책으로 특히 실습 중간중간 저자의 노하우와 감각을 익힐 수 있어 유익했다.

기술 서적이 3판에 이르도록 출간되었다는 것부터 이미 시장에서 검증된 책임을 의미힌다. 역시나 기대 이상이었는데 특히 인상적이었던 부분은 책의 실습을 따라하며 느낄 수 있었던 저자의 감각, 판단, 경험 등이다.

개인적으로 피그마에 관심을 둔 것은 전략 및 기획 중심의 업무를 시작하면서부터다. 그동안 백엔드 중심의 개발을 진행하였기에 사실 UX와 밀접할 일은 없었지만 전략 중심의 업무를 진행하며 보고 및 프레젠테이션 성격의 업무 포션이 늘었다.

사내 IT 시스템들의 구조도 그림을 그리는 것부터, 최신 동향의 서비스 및 기술들을 발표하는데 PPT 활용을 피할 수 없었고 mermaid, SVG 중심의 AI에게 의뢰하는 산출물의 표현력도 한계가 있어 그 대안으로 요즘 대세인 피그마를 익히고자 이 책을 읽게 되었다.

이 책은 크게 두 부분으로 나뉜다. 전반부는 피그마의 세부적인 기능 소개가 담겨 있다. 전반적인 메뉴 소개로 시작하여 그래픽스타일, 라이브러리, 정렬, 레이아웃, 각종 컴포넌트, 다자인 시스템에 이르는 각 과정을 따라하기만 해도 피그마에 금방 친숙해진다.

실질적으로 큰 도움을 받은 것은 후반부이다. 후반부는 iOS, 안드로이드 기반 앱을 하나씩 만들어보고 반응형, 디자인 시스템 등의 실무 실습을 진행하게 되는데 이 실습을 고민하며 따라가다보면 저자가 그간 쌓아온 감각과 노하우를 쉽게 얻을 수 있다.후반부

특히 디자인 감각이 좋은 사람도 실무 UX를 만드는데 어려움을 겪는 이유가 각 요소를 어떻게 통일성있게 구슬을 꿰어나가야 할지에 대한 막막함이 큰 것 같은데 완성품에 이르는 일련의 전체 과정을 조율 할 수 있게 구성된 점이 매력적인 부분인 것 같다.

아울러 시대적 배경에 맞게 피그마에 내장된 AI 활용법도 부분부분 소개되고 있어 유익했다. 물론 유료 기능인지라 직접 실습을 따라하긴 어려웠지만 생각보다 기능이 뛰어난 것 같아 다음번엔 별도의 AI 기능 활용법에 관한 도서도 나오면 좋겠다는 생각이 든다.AI

그 외에도 개발에 연계되는 기능들도 소개되어 있어 유익하다. 애셋을 내보내는 기능이나 개발 모드를 활용하는 법 그리고 git과 유사한 브랜치로 파일을 관리하는 법도 소개된다.브랜치

무엇보다 중간중간 등장하는 디자인 노하우 컬럼은 때로는 저자의 경험과 노하우가 때로는 실습에 필요한 기반지식의 통찰이 담겨 있어 유익했다. 오히려 본문 내용보다 집중해서 읽어야 할 부분이다.노하우

책 자체의 편집 및 다지인도 너무 가독성이 좋아 읽기 편했다. 저자의 내공과 내용 못지 않게 전체적인 책의 디자인이나 시각적인 요소도 완성된 하나의 예술작품 같다는 생각을 들게 한 예쁜 책이다.

다만, 피그마를 처음 써보는 사람에게는 초기 진입장벽이 있는듯 하다. 초반부에는 체계를 잡기보다는 무조건 백문이 불여일타로 실습을 진행하는 부분이 수록되었으면 어땠을까 싶다. 초반부 피그마에 접속도 제대로 못하고 있는 수준에 메뉴 기능 설명은 현실적으로 도움이 되지 않았다.

실력 성장형 혹은 시간에 따른 흐름 구성도 다소 아쉬웠다. 모듈별로는 딱떨어지고 깔끔하게 실습할 수 있었으나 각 장의 실습을 진행하는데 별도의 검색이나 AI를 활용하여 진입해야 하는 번거로움이 있었다.

아마도 3판에 이르며 중급자들 수준에 초점을 맞춰 군더더기가 제거되어서 그런것 아닐까 싶기는 한 데 몇 페이지 더 할당된다면 초보자나 입문자도 품는 완벽한 책이 될 수 있을 것 같다.

아무튼 이런 부분들은 매우 사소한 부분이고 사실 더 중요한 UX 실무자의 감각과 노하우를 익힐 수 있다는 본연의 관점에 비춰보면 매우 훌륭한 책이다. 피그마를 익히는 것을 넘어서 실전적인 감각도 덧칠하고 싶은 독자들에게 추천하고 싶다.




댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
멀티패러다임 프로그래밍 - 객체지향, 함수형, 명령형의 통합적 사고로 구현하는 소프트웨어 설계와 구현
유인동 지음 / 한빛미디어 / 2025년 4월
평점 :
장바구니담기


왜 멀티패러다임이 필요한지 본질을 알게 해주는 저자의 내공에 놀랐고, 이론과 실무의 간극을 없애는 전달력에 한 번 더 놀랐다.

간만에 또 불세출의 명작이 등장했다. 10년 전에 읽었던 멀티패러다임 프로그래밍을 다룬 또 하나의 명작 “브루스 테이트의 세븐 랭귀지《Seven Languages in Seven Weeks》”의 신선함을 다시금 느끼게 해준 명작이 이번엔 국내 저자에 의해 출간되어 더욱 기쁘다.

세븐랭귀지는 Ruby, Io, Prolog, Scala, Erlang, Clojure, Haskell 등 7개의 언어를 다루면서 언어나 패러다임은 도구일뿐 개발자로 하여금 멀티패러다임을 통한 문제 해결 본질에 집중하게끔 나무보다 숲을 보는 안목을 키워줬던 책이다.

반면 본 도서는 앞선 도서 대비 국내 저자의 저술인만큼 가독성이나 전달력 측면에서 현저히 뛰어나고, 또 ES6나 ES2017 등 그 이후 10년 간의 변화를 살펴보며 멀티패러다임 프로그래밍이 어떻게 정착했는지를 엿볼 수 있다.

무엇보다 실무에 즉시 적용할 수 있는 예제가 풍부히 수록되고, 원리에서 출발하여 실무에 적용하는 과정 즉, 왜 활용하는지에 대한 부분을 구체적으로 보여줌으로써 이론과 실무의 간극을 메우는 구성이 탁월하다.

25년 전 대학시절 C언어로 온갖 서비스를 구현하는 고수 선배의 코딩을 어깨너머 지켜본 적이 있다. C언어로 인코더나 디코더를 직접 구현하며 cgi로 웹 프로그램을 만들고, socket 통신은 물론, 게임 등 장르를 가리지 않는 탁월함에 적잖이 놀랐다.

그 중 가장 인상깊었던 프로젝트는 당시 OOP 개념이 지금처럼 전방위에 퍼지지 않았던 시점임에도 절차지향 프로그래밍의 대명사였던 C언어를 가지고 OOP 흉내를 내는 과정이었다.

구조체를 객체와 유사하게 활용하고, 내부에 함수 포인터를 활용하여 메소드 처럼 활용하는 방식이었는데 그도 모잘라 define 매크로를 활용하여 마치 요즘의 타입 추론과 함수형 언어를 흉내내는 것이 영락없는 무림세계 그것도 마교의 교주 천마같은 느낌이었다.

그 과정을 지켜보는 것은 굉장히 흥미로웠는데 까마득한 후배인 나로써는 C언어를 저렇게 Pythonic하게 활용하는 것이 맞는지 궁금증이 들기도 했고, 때로는 안정성에 문제가 있을 것 같은 불안감이 들기도 했고, 그럼에도 필요한 요소요소마다 언어를 철저히 도구로 수려하게 활용함에 감탄하기도 했다.

이런 고수가 있었는가 하면 또 한편으로는 개발자 커뮤니티에선 별 쓰잘데기 없는 논쟁이 벌어지기도 햇다. C언어와 PHP언어 중 무엇이 훌륭하냐는 어리석은 논의였는데 프로그래밍을 당시 무협 세계에 종종 빗대었던 개발자들의 이상한 습성은 흡사 정사대전을 보는 듯 했다.

사실 문제의 본질을 파악하여 해결하기 위한 과정이 중요하기에 도구가 목적이 아닌이상 도구의 쓰임새를 논할일이지 그 자체의 우수성을 따지는 것은 정말 불필요한 논쟁이다. 그럼에도 그때는 범용 언어인 C언가 훨씬 잘낫다느니, 콩나물을 사러가는데 자전거를 타야지 쓸데없이 그랜저를 타고가는게 맞냐며 PHP를 옹호하는 등 각자 나름의 개똥철학을 펼치며 스스로가 좋아하는 문파(?)를 비호하는 어리석은 무림인이 널리고 널렸다.

아무튼 이 책은 다양한 언어들이 가진 특성을 제대로 이해하고 선택하며 문제해결에 최적의 방안을 찾기 위한 언어 및 패러다임의 장점만 뽑아낸 조화를 추구하는 책이다. 더 나아가 저자의 풍부한 경험을 바탕으로 이론과 실무의 간극을 메워준다.

저자는 국내 굴지의 기업에서 경험을 쌓았으며 타입스크립트, 오브젝티브-C, 자바, Node.js 등 다양한 언어를 다뤄왔고, fx.js 창시자로 오픈소스 메인테이너 활동까지 참여해 온 고수이다.

무엇보다 책의 내용과 전달력이 저자의 능력을 입증한다. 책의 내용은 마치 라이브코딩을 보는 듯 전달력이 뛰어나며, 구체적인 예시를 들어 Why 문제에 대한 본질을 전달하는 과정은 예술의 경지에 가깝다.

예를 들어 본문 중에 NodeList가 왜 상속이 아닌 interface를 활용했는지에 대한 답변을 예시를 통해 명쾌하게 설명한 부분이 있다.

한 컨트리뷰터가 NodeList에 Array를 상속받도록 작성하여 배포한 사례를 가정하는 부분이 좋은 예시가 되겠다. 이후 Array에 변경을 가할 때마다 NodeList를 함께 고려해야 하는 의존성이라는 본질을 발견한다. 이는 오픈소스 기여 경험이 있는 개발자라면 흔히 경험을 통해 얻는 좋은 예시인데 이처럼 이론을 실무로 설명할 수 있는 저자의 내공과 경험은 의심할 여지가 없다.

프로그래밍의 패러다임에는 여러 형태가 존재한다. 순차적으로 명령을 수행하는 원시적인 절차지향 프로그래밍에서 부터 객체와 클래스 중심의 객체지향 프로그래밍, 상태 없이 순수 함수 중심을 추구하는 함수형 프로그래밍, 선언적으로 규칙과 조건을 명시하는 논리형 프로그래밍, 그 외에도 데이터 지향 프로그래밍 등 다양한 패러다임이 존재한다.

반면 지난 20~30년간 국내 IT 시장은 너무 편식한 경향이 없지 않다. Java 중심의 OOP에 너무 집중했고 SI 기반이 찍어내기식 돈만 바라보는 업체들의 행태 덕분에 편식은 점차 심해졌고, 건전한 개발자 생태계 발전에 적잖은 걸림돌로 작용했다.

또한 요즘엔 또 다른 의미의 편식이 존재한다. 프레임워크에 너무 의존하다보니, 대체로 후배들은 설계적 관점 즉, 멀티패렅다임 프로그래밍 수준의 숲을 보는 능력이 매우 떨어진다.

앞으로 AI의 물결이 모든 것을 바꾸는 시대가 다가오는데 프롬프팅 하나만 봐도 알 수 있듯 이제 질문을 정말 잘해야하는 시대가 다가왔다. 사실 질문을 잘할 수 있으려면 본질을 파악하는 능력이 중요하다.

본질을 파악하고 가진 요소들을 얼마나 잘 오케스트레이션하여 AI로 하여금 원하는 것을 얼마나 빠르게 얻을 수 있는지에 대한 능력이 중요한 시대가 된 것이다.

GoF 디자인 패턴 등장배경에서 볼 수 있듯 본 도서는 앞으로 AI와 그 사용자들이 만들어 나갈 변화에 필요한 숨은 진의를 파악할 수 있는 AI 시대에 필요한 교본과도 같은 책이라 할 수 있다.

AI가 발전하며 데이터가 더욱 중요해졌고 이는 프로그래밍의 발전 방향에 데이터가 상당한 종속성을 행사하는 계기가 되었다. 개인적으로 이터러블이 프로그래밍 언어론에 지대한 영향력을 행사하는 것은 데이터와 자료구조에 기인한다고 본다.

List, Array와 같은 자료구조를 활용하는 한 for문 형식은 피할 수 없게 되었는데 수치형 집합을 GPU가 병렬 연산하는 트렌드까지 만나면서 한 층 더 나아가 선형대수의 번창에 이르는 변화를 주도했다.

유사 군 데이터를 처리하는데 있어 프로그래밍은 next() 구조를 도입할 수 밖에 없었고 연역적으로 프로그래밍만 독립적으로 놓고 보던 초기 모델은 점차 데이터에 종속된 귀납방식으로 변모했다. 이 또한 어디까지나 문제 해결을 위한 당연 수순이다.

비동기 또한 패러다임을 바꾼 지대한 요소이다. 웹과 모바일의 등장으로 기다림 없이 다른 일을 할 수 있도록 극도의 효율성을 추구하는 과정이 필요한 시대가 되었다. 가장 큰 요인은 I/O 문제에서 발생하는 데 프런트엔드 진영이라면 앞서 언급한 UX 부분 백엔드라면 리소스를 제어하는 부분이 이에 해당한다.

대신 개발자로 하여금 실행 순서를 제어하는 능력을 요하는 부작용(?)이 생겼다. 실무적으로는 가독성이나 안정성 측면에 빨간불을 켠 셈이다. 모든 것은 트레이드 오프가 발생하니 어쩔 수 없는 문제이다.

이 책에서 잘 정리하고 있듯 자바스크립트 진영만 봐도 ES6에서의 Promise 도입, 2017년 async-await 채택의 현상은 이런 시대상을 반영한다.

객체 진영의 반복자 패턴에 함수형 진영의 일급함수가 결합하기 시작한 것이다. class 문법을 도입하며 동시에 순회규약 도입했다. 덕분에 지연평가나 리스트프로세싱이 가능해졌다.

메타 프로그래밍에서 한발 더 나아가 멀티패러다임이 대세가 되면서 함수는 다른 호출측 함수의 인자처럼 활용되며(일급함수-고계함수), 코드를 데이터와 로직이 담긴 List로 보는 관점으로 리스트 프로세싱이 탄생했다.

이 부분에 대한 구체적인 예시는 115p를 참조하면 된다. LISP에 착안하여 map(f, iterator)형식의 Pipe Operator를 만들어 보는 과정의 전반을 이해할 수 있다면 그리 어렵지 않은 이야기인데 이는 저자의 통찰과 전달력 덕분임을 강조하고 싶다.Pipe Operator115

이 책에 소개되진 않았지만 내가 자주 활용하는 Python 진영의 인기쟁이 Pandas 라이브러리에 apply(), map(), applymap(), agg(), transform(), filter(), pipe() 함수 등이 흔히 활용되는 것도 이런 멀티패러다임의 영향이다.

책의 전반부(1~4장)은 멀티패러다임이 등장하게 된 Why 즉, 본질에 집중한다.

수학적 원리, 불변성과 순수성, 예측가능성, 병렬처리, 비동기처리, 데이터처리, 쪼개어 연결하는 과정, typeof 키워드로 안전함을 보장하는 타입 추론, promise, 반복자 이터레이터의 변화, 제너레이터에서 yield와 iterator 반환의 결합, for…of 문법과 Symbol.iterator 시그니처의 활용, 커링, 변수같은 일급함수, 일급함수를 호출하는 고차함수(일급함수의 호출측), 필요한 시점에 필요한 만큼만 꺼내쓰는 지연평가, 고차원의 다형성을 제공하는 제네릭, 객체 모델링, 유연성과 확장성, 책임소재, 협업지향, 추상화, 캡슐화, 전개연산자(…), 구조 분해, 상속과 인터페이스의 활용 방법, 비동기 처리 등 정신없는 풍랑을 거치다보면 어느덧 함수형이 무엇인지, 객체지향이 무엇인지 별 의미가 없는 정반합의 완숙한 경지에 이른다.

후반부는 전반부에서 키운 내공을 바탕으로 현실의 세계를 평정한다. 패턴과 예제 중심으로 문제 해결의 본질을 어떻게 활용할지에 대한 저자의 사고방식을 쫓아가다보면 자연스럽게 내공을 운용할 수 있게 된다.동시성핸들링

명쾌하게 탄탄하게 쌓인 개념을 바탕으로 자연스럽게 손과 머리로 체화되는 과정이란..이렇게 이론과 실무의 경계를 지우는 저자의 내공과 전달력에 경의를 표하고 싶다.

책이란게 원래 사놓고 안보는 독자가 대다수겠지만 초급자에게는 1장만 해석되어도 프로그래밍의 세계가 달리 보일 것이다. 중급자는 5장만 따라해 봐도 본인의 실무 내공에 큰 변화가 있을것 같다.

아마도 보이지 않던것이 보이기 시작할텐데 시간, 속도, 시간복잡도, 프로세스, 메모리와 같은 H/W 리소스에 이르는 보이지 않는 것들이 보이고 신경쓰이기 시작할 것이다.

적어도 IT 서적 중 이렇게 전달력이 높은 저자를 본적이 없다. 다년 간의 내공과 강의 경험 없이는 이게 가능할까 싶다. 우리나라에도 이런 책이 존재한다는 것이 자랑스러울 정도이다. 왠만한 유관분야 원서보다도 이 책으로 시작하는 것을 추천하고 싶다.




댓글(0) 먼댓글(0) 좋아요(3)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
LLM 서비스 설계와 최적화 - 비용은 낮추고 성능은 극대화하는 AI 서비스 구축과 운영 가이드
슈레야스 수브라마니암 지음, 김현준.박은주 옮김 / 한빛미디어 / 2025년 4월
평점 :
장바구니담기


LLM 기반 서비스를 구축하는 데 있어 반드시 알아야 할 설계 지식과 성능-비용 간 트레이드 오프 전략을 다룬 필독서.

오랫동안 기다려온 책이 출간되어 너무 기뻤다. 이 책은 LLM 서비스 구축을 위한 거의 모든 것을 다루고 있고 특히 그동안 레퍼런스가 부족했던 내용들이 가득담겨 있어 매우 유용하다.

LLM 서비스 구축을 위한 핵심 주제인 설계, 인프라 구성, 파인튜닝, 성능-비용 간 트레이드 오프 문제를 다루고 있으며 특히 전략을 세우는 데 있어 데이터 기반의 가이드를 제시하고 있고 AWS 인프라를 담당하는 경력을 갖춘 저자의 글이기에 더욱 신뢰가 간다.

그동안 LLM을 만드는 데 집중해 온 시기였다면 이제 본격적으로 이를 활용하여 저마다의 가치에 AI를 입히고 서비스를 고려하는 단계에 이른 것 같다.

이를 위해 고민해야 할 사항이 많지만 그 중에서도 가장 두려운 요소는 역시 비용 문제이다. 예시로 GPT-4의 경우 모델 훈련 비용이 9천만 달러(약1700억원)에 육박 했다고 하니 일반 기업으로는 LLM 구축은 요원한 일이다.

그렇다고 잘 만들어진 LLM 활용에 집중한다면 비용 문제에서 해방될 수 있을까? 아래 그림은 LLM 활용 또한 비용 문제가 심각하다는 것을 실감나게 보여주는 좋은 예시이다.월별비용예시45

이래 그림은 LLMOps를 한눈에 볼 수 있게 도와준다. 시퀀스다이어그램은 물론 서비스 각 단계가 상당히 복잡하다. 각 단계별로 고려해야 할 요소들이 많으니 비용이 많이 들 수 밖에 없다.LLM시퀀스다이어그램39
LLMOps단계

이에 성능과 비용의 트레이드 오프의 적정선을 찾는 것이 중요한 문제인데 아래 도표를 통해 깔끔하게 파악할 수 있다.모델별 최대기준 비용58

벡터DB의 벤치마크 자료도 어느 기종의 벡터DB를 선택해야 할지 판단하는데 많은 도움을 주는데 이렇듯 저자는 흔히 보기 어려운 깊은 인사이트가 담긴 자료를 다양하게 제시하고 있어 실무에 많은 도움이 된다.벡터DB벤치마크51

이렇게 1장에서 LLM 관련 전반적인 비용 문제의 개요를 다뤘다면 2장에서는 파인튜닝에 집중하여 비용 문제를 해결하는 방법을 다룬다.

비용을 1순위로 두면서도 사내 LLM 기반 인프라 설계 전략을 수립하는데 다양한 방향성을 제시하고, 더불어 최대한 원하는 성능을 보장할 있는 다양한 방법론을 제시하고 있다.

먼저 비용을 산정하는데 있어 매우 유용한 스케일링 법칙이 등장한다. LLM 운영에 있어 가장 많은 제약을 받는 자원은 GPU 메모리이다. 아래 그림은 N(모델 파라미터 수)가 40 x 10^9 인 경우 추정되는 예산(C)을 보여준다. 덕분에 실제 운영 비용을 미리 예측하는 데 있어 꽤 유용한 팁을 얻을 수 있었다.스케일링법칙64
스케일링법칙예시65

이를 통해 파라미터를 얼마나 효율적으로 관리하는 것이 중요한 문제인지 도출된다. 책에서는 파라미터 효율적 파인튜닝(PEFT)으로 일반적으로 흔히 사용하는 프롬프트 튜닝은 물론, 실제 영향을 미치는 가중치는 적을 것이라는 것에 착안한 LoRA 기법을 비롯 프리픽스 튜닝, P튜닝, IA3와 같은 다양한 연구 결과 및 가이드를 제시한다.

그 외에도 특정 작업이나 도메인에 맞춤화 하는 전략, 저차원 행렬 분해 등 다양한 방법이 소개되는 데 개인적으로 미처 존재 여부 조차 알지 못했던 다양한 아이디어를 얻을 수 있어 매우 만족스러웠다.

3장에서는 추론 테크닉에 집중한다. 통상적으로 널리 알려진 대표적인 프롬프트 엔지니어링 기법 - 지시 내리기, 형식 지정, 예시, 평가, 단계별 추론 - 을 잘 정리한 후, 이를 통해 비용을 절감할 수 있는 다양한 방법을 소개한다.

예를 들어, tiktoken 라이브러리를 사용하면 토큰수를 미리 파악하는데 용이하다. 그 외에도 답변 길이를 100자 이내로 제한한다든가, 사용자의 요청을 분해하는 방법도 있다. 프롬프트를 배치 방식으로 관리하거나 텍스트 요약을 활용하여 프롬프트를 제어한다면 토큰 호출 비용을 크게 절감할 수 있다.

그 외에도 자주 발생하는 질의에 대한 백터 스토어 캐싱 방법, 긴 문서를 위한 체이닝 기법도 소개하고 있다. 긴 문서를 잘개 쪼개 병렬 처리 작업으로 비용을 절감시키는 방안인데 아래 그림은 한 눈에 개념을 이해할 수 있도록 도와준다.긴문서용체이닝124

이 외에도 양자화 기법 등을 활용한 모델 최적화 방법이 소개되는 데 이는 이어지는 4장에서 보다 자세히 다룬다.

4장은 트레이드 오프를 고려한 소형 모델을 대안으로 제시한다. 이를 위해서는 조직별 서비스 목적을 분명히 파악하여 비용 문제와의 타협점을 찾는 것이 중요하다.

실제 업계에서 소형 모델을 도입하여 비용을 절감하면서도 원하는 성능을 발휘하는 성공사례를 몇가지 소개한다.

양자화를 활용한 Mistral이 대표적인 예인데 이는 이미 2장에서 소개된 바와 같이 양자화 버전에 따른 비교 예시를 통해 직관적으로 장점을 이해할 수 있다.LoRA87

Zephyr에서 활용한 지식증류 아이디어도 주목할 만하다. 소형 모델임에도 불구하고 다른 대형 모델 대비 성능이 크게 뒤떨어지지 않는다는 점에서 또 다른 대안이 될 수 있다.Zephyr163

5장에서는 IT나 배포 등 기반 인프라에 대한 비용 절감 방안을 고민한다. 아래 도표와 같이 모델별 로드 시 메모리 요구양을 보면 효율적 인프라 설계의 중요성이 실감난다.모델별메모리요구량206

이 문제를 해결하기 위해 어떻게 메모리를 효율적으로 사용할지에 대한 다양한 연구 결과 및 방법론이 소개되는데 모델의 일부 파라미터만 저장 및 처리하는 방식이 그 중 하나이다.

그 외에도 16비트와 32비트 부동소수점을 혼합적으로 활용하는 혼합정밀도 표현 방식, 허깅페이스의 accelerate 라이브러리와 같이 CPU-GPU간 전환 활용을 고려한 후처리 양자화, 통상 GPU 메모리의 30% 이상을 차지한다고 알려진 KV 캐시를 효율적으로 관리하는 방법이 소개된다.

특히, KV캐싱 문제에 있어 PagedAttention 기법이 주목할 만하다. 마치 운영 체제 분야의 가상 메모리 관리 방식과 유사하여 IT 전공자들이 이해하는데 큰 어려움이 없다.PagedAttention212

최적화된 병렬 자동화 기법을 이용한 AlphaServe 방식도 눈에 띈다. 그 외에도 추측을 활용한 시퀀스 스케줄링인 S3기법이나, StreamingLLM 등이 소개된다. 개인적인 견해로 StreamingLLM은 이미 활용해 본 적이 있는데 비용 절감 측면에서 매우 우수했다.AlphaServe214

추론 가속화도 솔루션이 될 수 있겠는데 GPU 가속 도구를 활용하는 방법이다. 그 외에도 LLMOps의 복잡한 각 단계를 얼마나 잘 모니터링하며 비용을 절감할 수 있는 아이디어를 착안하는 것 또한 중요한 해법의 열쇠가 될 것 같다.

마지막 6장에서는 앞서 배운 것들 외에도 소프트 스킬 측면에서 성공하기 위한 전략을 제시하고 있어 유익하다. 구체적으로 인력 관리 측면이나 미래를 위한 트렌드를 가이드 해준다.

먼저 인력 측면에서 다양한 전문가가 필요한 데 도메인, 데이터 전문가는 물론 숙련된 레이블러, 법률 전문가도 필요하다. 더불어 교육 - 혁신 환경 조성 - 내부 프로세스 검토의 선순환을 위한 HR이 중요한 부분이다.

특히, 10인 정도의 최초 팀구성에 대한 예시가 팀 빌딩에 있어 많은 도움이 된다.팀빌딩267

마지막으로 미래 트렌드를 세가지로 종합하여 보여주는데 가장 최신 트렌드는 Agent 방식인 것 같다. 특히, 최근 MCP나 A2A의 등장으로 인해 피할 수 없는 대세 표준 혹은 프로토콜로 자리매김할 것 같다.

Agent를 실제 구현 및 테스트 할 수 있는 베이스라인 코드 소개를 끝으로 이 책의 긴 여정은 마무리 된다.

정리하자면 회사에 LLM 서비스를 도입하는 데 있어 반드시 검토해봐야 할 주제들을 거의 모두 다루고 있는 현 시점 매우 귀한 가이드라고 할 수 있겠다.

이 책이 제시하는 하나하나의 방법론들을 숙지 및 고민하지 않고 서비스화에만 몰입할 경우 추후 감당할 수 없는 비용 문제에 같은 고생을 반복하게 될지 모른다. 그렇기에 LLM 서비스를 고민하는 관련자라면 반드시 정독할 것을 추천하는 바이다.




댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
랭체인 & 랭그래프로 AI 에이전트 개발하기 - 현직 AI Specialist에게 배우는 LLM Agents! 랭스미스, 오토젠, AutoGPT, 크루AI, 라마인덱스, M365 코파일럿 에이전트까지
서지영 지음 / 길벗 / 2025년 3월
평점 :
장바구니담기


LLM 활용 기술들을 실제 코드 구현으로 가장 쉽고 빠르게 파악할 수 있도록 구성된 입문서

랭체인을 비롯한 LLM 활용 기술들의 개념을 익히고 코랩 기반으로 간단하게 실습해보면서 결과를 확인할 수 있도록 구성된 입문서이다.

이 책의 단연 돋보이는 특징은 난이도와 전달력이다. 일단 PC등에 설치 환경 구축 등의 과정을 피할 수 있어 입문자나 초보자가 코드를 실행하기 용이하도록 구성되어있다.

캐글 등의 데이터 관련 경진대회를 진행하다보면 베이스 라인이라는 기본 뼈대를 잡고 성능을 개선해나가는데 이 책의 예제는 그런 베이스 라인 예제를 배우는 단계로 보면 된다.

그렇기에 등장하는 예제들이 매우 심플하고 직관적이어서 이해하기 쉬울뿐더러 가장 중요한 기능만 담아 코드량을 줄였기 때문에 실습을 따라오는데 전혀 무리가 없고 랭스미스 등의 핵심 기술들의 굵직한 개념등을 체계적으로 파악하기에 용이한 구성이다.

7장까지는 전반부로 볼 수 있는데 AI 활용에 필요한 기술에 대한 개념을 도식과 예제로 설명하고 있어 난이도가 매우 쉽다.

핵심부분은 8장부터 진행되는데, 8장은 다양한 프레임워크를 활용하여 에이전트를 직접 구현할 수 있는 장이다. 랭체인, AutoGPT, 오토젠, 라마인덱스, 크루AI, 랭그래프 등 다양한 프레임워크를 사용해보면서 장단점을 한눈에 비교하기 좋게 구성되어있다.에이전트
시각화

이후 후처리 작업에 해당하는 랭스미스를 실습하는데 디버깅, 모니터링, 성능평가 등을 실습하며 향후 이 핵심기술들을 어떻게 활용해야 할지 큰 그림을 그리는데 필요한 알짜배기만 담아내고 있다는 점이 특징이다.디버깅
모니터링
성능평가

마지막으로 M365 코파일럿과 에이전트의 비교 파트가 등장한다. 저자의 타깃 독자층을 가장 쉽게 파악할 수 있는 부분이다.

M365의 경우 프로그래밍을 버튼 기능으로 최소화 할 수 있다는 것이 특징이지만, 그만큼 서비스 제공에 있어 자유도가 떨어지고 학습에 활용할 자료를 클라우드에 업로드해야 하는 제약 사항이 발생한다. 하지만 노코드 기반의 서비스 구현을 원하는 일반인에게는 꽤 쓸만한 선택지가 될 수 있다.

코랩에서 실습하기 때문에 이 책은 특히 비전공자나 프로그래밍을 잘 모르는 일반인도 왠만하면 따라할 수 있을 것 같다. 상세한 그림으로 어떤 버튼을 눌러야 하는지까지 상세하게 안내하고 있어 사실 프로그래밍의 특정 지식을 요하지 않도록 잘 구성되어 있다.

일반인들도 코딩을 어느정도 할 수 있는 시대가 된만큼 입문자 수준의 전공자와 더불어 LLM 활용의 첫걸음을 내딛기에 최적화된 서적이라 할 수 있다.



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
제대로 시작하는 챗GPT와 AI 활용 with 파이썬 - 프롬프트 엔지니어링부터 음성 인식, 이미지 생성, 챗봇, 웹 서비스까지
에이먼 엘 암리 지음, 대니얼WJ 옮김 / 한빛미디어 / 2025년 3월
평점 :
장바구니담기


현존하는 생성형 AI 모델 대부분을 쉽게 실습해보며 빠르게 활용법을 파악할 수 있다. 임베딩, 파인튜닝, RAG, Agent 같은 난이도 있는 기술도 핵심만 빠르게 흡수할 수 있도록 도와준다.

LLM의 중요한 장점 중 하나는 일반인이 프로그래밍 세계로 진입하는데 장벽을 매우 낮춰준다는 점이다. 덕분에 이 책에서 다루는 내용과 같이 일반인도 LLM의 도움을 받아 기존에 엄두도 내지 못했던 기능을 구현할 수 있게 되었다.

다른 리뷰에서도 작성했지만 현시점만 놓고 봤을때 사실상 AI의 중요한 본질은 정량화, 비정형 데이터의 해석력에 있다고 생각한다. 비정형 해석 장벽이 낮아지면서 자연어로 프로그래밍 혹은 서비스를 만들 수 있는 가능성이 높아졌다.

이 책은 OpenAI 진영의 비정형 데이터를 해석할 수 있는 다양한 모델들을 실습해보는 예제이다.

그렇기에 눈에 띄는 장점은 다음 세가지를 들 수 있다. 첫번째로는 일반인이 따라갈 수 있는 난이도, 두번째로는 생성형 AI 모델의 전체 기능을 빠르게 훑을 수 있다는 점, 세번째로는 예시 기반으로 하니씩 실행해가며 쉽게 따라할 수 있다는 점을 들 수 있다.

첫번째 장점은 저자가 서문에서도 밝힌 바와 같다. 기반 지식이 부족해도 자신만의 지식시스템을 구축하고자 독자에게 상당한 도움이 될 수 있는 책이다.

대부분의 DevOps 환경 구성을 감춰줄 수 있는 구글 코랩 환경에서 실습이 이뤄지고, 초보자가 요금 폭탄을 맞는 실수를 피하기 위해 다양한 모델의 세부적인 가격까지 안내할 정도로 친절한 설명이 이어진다.코랩
가격

물론 Python의 예제가 등장하여 프로그래밍을 해 본 독자라면 더 좋겠지만, 일단 프로그래밍을 모르더라도 깃허브에 올라온 예제를 그대로 필사하는 정도만으로도 원하는 기능을 구현하는데 큰 무리는 없을것이다.

사실상 말이 프로그래밍이지 OpenAI의 API를 호출하는 형식의 코드가 대부분이기에 바둑으로 따지면 거의 외길 수순이다. 그대로 따라하면 큰 문제없이 수행된다.

더불어 중간 중간 중요한 개념들은 자세하게 설명하며 짚어나가고 있기에 대략적인 개념 정도는 잡으며 실습할 수 있을 것이다. 예를 들어 아래 그림과 같이 프롬프팅이 무엇인지 개념도와 예시 설명을 들고 있다.프롬프팅

초반부 프롬프팅과 같은 간단한 예제를 살펴보았다면 중반부에는 다양한 AI 모델을 체험할 수 있도록 구성되어 있다. DALL·E 모델을 활용하여 텍스트로 이미지를 생성해본다든가, 이미지를 합성해 보고, TTS나 이미지 분류 등을 실습하며 다양한 LLM의 활용법을 빠르게 익힐 수 있다.이미지생성
이미지합성

이 책은 OpenAI 중심의 모델을 주로 다루고 있지만, 부록을 참조하면 클로드와 같은 또 다른 진영의 AI 활용 실습을 진행해 볼 수 있다는 점도 장점이다.AI모델

다만, 후반부에 해당하는 15장 임베딩 파트부터는 일반인이 따라하기에는 다소 벅찰 수도 있다. 그래도 예제대로 실습을 따라하며 주요 개념만 파악해보겠다는 자세로 진행하면 상당히 많은 지식을 얻을 수 있을것이다.

임베딩의 경우 사실 개념상으로는 별게 없다. 이 세상의 자연어와 같은 텍스트를 단순히 숫자(조금 더 표현하면 벡터)로 변환해 주는 것이다.

이를 통해 컴퓨터가 알아들을 수 있게 숫자로 변환이 가능해진다는 점, 나아가 코사인 유사도와 같은 수학적 도구를 사용할 수 있다는 점이 큰 특징인데 이를 통해 벡터 공간에 포진된 두 개념의 유사도를 구할 수 있고 이로써 LLM은 정규표현식에서 한걸음 더 나아간 의미 기반 검색도 가능해진다.

다음의 예제는 임베딩의 개념을 아주 깔끔하게 소개해주는 예제이다. 입력된 자연어가 숫자 그것도 벡터 형태로 변환되어 출력되고 있음을 볼 수 있다.임베딩

여기서 한걸음 더 나아가면 독자가 보유한 자체 데이터로 기존 모델을 파인튜닝 할 수 있게 된다. 기능적인 측면만 놓고 봤을때는 나만의 별도 모델을 얻는 셈이다.

이 또한 일반인이 따라할 수 있을 듯 싶다. 파인튜닝 또한 OpenAI API에게 맡겨버리기 때문이다. 대시보드를 통해 아래 그림과 같이 모니터링 및 결과 확인이 가능하다.파인튜닝 모니터링
파인튜닝 결과

또한 부록을 포함하여 후반부에는 다양한 재미있는 예제들이 등장한다. 예를들면 스트림릿과 깃허브를 이용하여 건강상담 챗봇을 구현하는 예제가 그러하다. 둘 다 AI시대 각광받는 플랫폼이기에 비전공자들이 프로그래밍 세계에 진입할 수 있는 호기심 어린 좋은 예제라 생각한다.스트림릿과 깃허브1
스트림릿과 깃허브2

그 외에도 RAG, Agent의 핵심 코드 정도를 다루고 있어 이 두 개념의 핵심을 빠르게 파악할 수 있는 예제도 등장한다. 최근 등장한 A2A, MCP와 같은 기술을 제외하고 굵직한 개념 정도는 이 책을 통해 실습 및 파악할 수 있는 셈이다.

결론적으로 이 책은 일반인, 기획자, 경영자에게 매우 많은 도움을 줄 수 있을 것 같다. 물론 개발자중에도 AI를 거의 접해본 적이 없다면 빠르게 현존하는 AI 모델의 특성을 파악하고 기획하는 서비스에 어떻게 활용할지 판단하는데 매우 큰 도움이 될 것이다.



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo