처음 처음 | 이전 이전 | 1 | 2 | 3 |다음 다음 | 마지막 마지막
트랜스포머를 활용한 자연어 처리 - 허깅페이스 개발팀이 알려주는 자연어 애플리케이션 구축
루이스 턴스톨.레안드로 폰 베라.토마스 울프 지음, 박해선 옮김 / 한빛미디어 / 2022년 11월
평점 :
장바구니담기


업무 특성상 자연어처리(NLP, Natural Language Procecssing)와는 거리가 있어서 이쪽 분야는 간간히 동향만 전해듣는 수준이었다. 특별히 관심을 갖고 살펴보기에는 내 분야에서 배워야 할 것들도 넘치는 것 같았기 때문이다. 하지만 최근 GPT-3와 ChatGPT, stable-diffusion 등 가히 혁명적인 기술들이 속속들이 발표되고, 공개되고, 활용되는 것들을 보게 되면서 최신 기술들에 대해서도 조금 더 관심을 가지게 되었다.

그러던 중 이 책을 만나게 되면서 자연어 처리에 대해서도 배움에 대한 갈망이 조금씩 자리잡게 되었다. 사실 배운다고 표현하는 것보다는 잘 사용하는 방법을 익힌다고 말하는 것이 더 정확한 표현일 것 같다. 이 책의 저자들(허깅페이스 개발자 3인)이 목표하는 바 또한 그러한 것이었다.

(pg 15) "이 책의 목표는 여러분이 자신만의 언어 애플리케이션을 만들도록 돕는 것입니다." 라고 말하고 있으니 말이다.

 

  이 책은 총 11장으로 구성되어있다. 1장에서는 트랜스포머의 등장의 전/후 배경에 대해 설명하고, 트랜스포머의 파급력과 그 의의에 대해 간략하게 정리해두었다. 또 이를 잘 활용할 수 있게 해주는 허깅페이스 생태계[1]에 대해서 소개하고 있다. 또, 트랜스포머로 할 수 있는 일들(어플리케이션)에 대해 간략히 설명해준다. '텍스트분류', '개체명 인식', '질문답변', '요약', '번역', '텍스트 생성' 문제를 다룰 수 있다.

  이후 2장에서는 '텍스트분류'에 대해, 3장에서는 트랜프포머의 상세한 구조와 그 원리에 대해 다루고, 4장에서는 '다중 언어 개체명 인식', 5장에서는 '텍스트 생성', 6장에서는 '요약', 7장에서는 '질문 답변' 어플리케이션에 대해 다루고 있다.

  8장에서는 기존 딥러닝 모델들에 비해 규모가 큰 트랜스포머 모델을 효율적으로 줄일 수 있는 방법들에 대해 다룬다. '지식 정제', '양자화', 'ONNX를 활용한 추론 최적화', '가지치기' 방법에 대해 다뤘다.

  9장에서는 레이블 부족 문제를, 10장에서는 대규모 데이터셋 수집하는 방법에 대해 다루고, 마지막 11장 에서는 트랜스포머의 현재와, 미래에 대한 의견을 제시하였다.  

 

  개인적으로 친숙하지 않은 분야이기에 앞에서부터 차근차근 살펴보고 있다. 옮긴이 박해선님이 친절하게 깃허브 저장소[2]에 코드를 정리해주셔서 로컬환경이나 코랩에서 바로바로 테스트 해볼 수 있다는게 참 좋은 것 같다. 빠르게 배우고 적용해보기 좋은 세상이다.

  이쪽 분야 공부가 많이 필요해서 개인적으로 트랜스포머의 기본 원리를 다룬 3장과 최적화 관점의 8장을 더 자세하게 살펴볼 예정이다. 아직 모두 살펴보고 테스트해보지는 못했지만, 이미 머릿속에 만들어볼 어플리케이션들 리스트가 생기고 있어서 조금 설레이기도 하다. 연말과 내년초 조금 여유로운 시간에 차근차근 더 살펴보아야겠다.

  

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
조지 오웰 소설 전집 세트 (양장 특별판, 전6권) - 버마의 나날 + 신부의 딸 + 엽란을 날려라 + 숨 쉴 곳을 찾아서 + 동물농장 + 1984
조지 오웰 지음, 공진호 외 옮김 / 현암사 / 2022년 12월
평점 :
장바구니담기


한번에 사려니 가격이 조금 부담되지만 서재에 마련하면 좋을 책입니다

댓글(0) 먼댓글(0) 좋아요(7)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
파이썬 코드로 배우는 Git & Github
유광명 지음 / 영진.com(영진닷컴) / 2022년 12월
평점 :
장바구니담기


예제코드와 함께 내용이 구성되어있어 입문자도 차근차근 배워갈 수 있는게 좋은 것 같습니다.

댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
적정 소프트웨어 아키텍처 - 리스크 주도 접근법
조지 페어뱅크스 지음, 이승범 옮김 / 한빛미디어 / 2022년 5월
평점 :
장바구니담기


  개발자 커리어 트랙에 올라선 지 몇 년 되지 않았다. 이곳 세계도 알면 알수록 넓은 세상이라는 것을 배워가고 있다. 한빛 미디어 리뷰어 활동도 그 여정 중에 우연히 참여하게 된 것이고, 이곳에서 IT분야의 신간 서적들을 조금이나마 빠르게 접해볼 수 있다는 것은 또 하나의 행운이고, 감사한 일이라 여기고 있다.

  'SW 개발'이라는 분야에서 '아키텍처'라는 것을 알게된것도 얼마 되지 않았다. 다만 일을 하며 직관적으로 내 머릿속에서는 어느 정도의 구조 설계와 흐름 등이 나름 정립되어 일을 하고 있었고, 그것이 '아키텍처'의 일부라는 것을 알게 되었다.

  이번에 책을 받고 나서는 조금 부담이 되었다. 표지가 멋지기도하고, 내용도 배워가고 있는 것이어서 선택지 중에 하나로 올리긴 했었지만, 막상 받고 나니 내가 잘 리뷰할 수준이 아니라고 여겨졌기 때문이다. 이번 책도 지난번 [전문가를 위한 C] 책처럼 공부하며 꺼내볼 수 있는 사전과 같은 역할을 하게 될 것 같다.


  당연히 서론과 앞부분을 먼저 읽었고, 이곳에서 조금은 헷갈려하던 개념들을 어느정도 정리할 수 있었다는 게 이번 리뷰의 성과라고 할 수 있다. 관련 내용은 뒤에서 정리해보겠다.


  옮긴이가 설명하는 이 책의 대상 독자는 '실무 소프트웨어 개발자'라고 하였다. " '객체 지향 소프트웨어 개발, UML, 유스 케이스, 디자인 패턴과 같은 기본적인 소프트웨어 개발 아이디어를 이미 알고 있는 사람"이 적합한 주요 독자라고 설명하였다. 또, 학부 고학년이나 대학원 수준의 교과서로도 적합할 것이라고 설명하며 문을 열었다.


  리뷰를 하며 느낀점은... 옮긴이 "이승범"님이 번역을 하며 '참 많은 고민을 하셨겠구나'라는 것이 느껴졌다. 단순히 원어를 한글로 번역할 때 전문용어가 오역되는 것을 막기 위해 영어 병기는 물론, 이해를 돕기 위한 초월 번역을 한 부분(제목에서 Just Enough'를 '적정'이라 번역한 점!!)과 책 뒷부분에 친절한 용어 설명 부분까지... 출판사와 옮긴이분이 독자를 위해 세심하고 노력한 것에 대해 감사함을 표하고 싶다. 다른 번역책들도 훌륭한 번역들이 많았지만, 올해 내가 리뷰한 책들 중에서 번역에 관한 것은 이 책이 제일이라 생각한다. 


  아키텍트로 향하는 여정 초입에 있는 나로서는 이 책을 통해 애매했던 정의와 역할에 대해 조금은 정리가 되었고, 앞으로 갈 길이 멀다는 것을 다시 한번 점검했으며, 그럼에도 이런 책들의 도움을 받아 한 걸음씩 내딛어야겠다는 다짐을 하게 된 시간이었다.



"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
전문가를 위한 C - 동시성, OOP부터 최신 C, 고급 기능까지! 극한의 C를 마주하려는 여행자를 위한 가이드북
캄란 아미니 지음, 박지윤 옮김 / 한빛미디어 / 2022년 10월
평점 :
장바구니담기


  처음 책을 고를때 매우 망설였다. 왜냐면... 무려 912페이지나 되는 한손으로 들기에도 버거울?만큼 매우 무거운 책이었기 때문이다. 하지만, C++을 배우고 있으면서 C도 공부해봐야겠다는 생각을 예전부터 가지고 있었기 때문에, 한번에 다 볼 생각은 아니고, 사전 혹은 언제든 꺼내볼 수 있는 전공책처럼 곁에 두고두고 살펴보기 위해 이 책을 선택하였다.

  예상?했던 것처럼 쉬워보이는 내용은 아니었다. 목차에서부터 생소한 내용들이 많이 있었고, 앞부분 프로그래밍의 기초적인 부분 외에는 Part3 객체지향 부분이 반가웠던 것 외에는 낯설었다. 

  저자가 설명하는 예상 독자는 다음과 같다.

- C와 C++ 개발에 관해 최소한의 지식을 가진 독자

- C/C++ 주니어와 중급 엔지니어가 주요 독자

- 책을 읽고 나서 시니어 엔지니어로 거듭날 수 있기를 원하는 사람

- 더 높은 연봉과 훨씬 더 유의미한 직무를 맡을 수 있기를 바라는 사람

- 시니어 엔지니어도 일부 세부 사항이 도움이 될 수도...


하지만 옮긴이는 초보자가 시니어가 될 때까지 옆에 두고 계속 보아도 좋은 책이라고 설명해주셨다,


  나는 다른부분들 보다는 요즘 공부하고 있는 객체지향에 대해서 관심이 있어 Part3 부터 조금씩 살펴보았다. 사실 다른 설명들보다도, 객체지향을 우리 인간의 사고와 비교하며 설명해준 부분이 제일 인상깊어 그 부분을 일부 공유하고자 한다.

(pg 253) ~객체지향을 지원하지 않는 언어로 객체지향 프로그램을 작성할 수 있을까요? 정확히 말하자면 C 언어를 사용해서 객체지향 프로그램을 작성할 수 있을까요? ... 네, 가능합니다. ... OOP가 실제로 무엇을 의미하는지 살펴봐야 합니다.

(pg 253) OpenSSL과 OpenCV와 같은 여러 C 라이브러리는 모두 객체지향 방식으로 작성되었습니다. 이것이 C가 객체지향이라는 의미는 아닙니다. 그보다는 이러한 프로젝트가 내부 구조를 구성하는 방식이 객체지향적 사고방식에서 비롯한다는 뜻입니다.

(pg 254) C는 문법상 객체지향을 특징으로 삼을 수도 없고 그래서도 안 됩니다. ... C로 객체지향 프로그램을 작성할 수는 있지만, 복잡성을 해결하려면 추가로 약간의 수고가 듭니다.

(pg 254) ~ OOP는 문제를 생각하고 분석하는 방식에 더 가깝습니다. OOP는 전 우주와 그 안에 있는 대상(object)의 위계질서에 관한 태도입니다. OOP는 기본적으로 우리 주변의 물리적 개체(entity)와 추상적 개체를 이해하는, 오래전부터 전해 내려온 고유한 방법입니다. 이는 자연을 이해하는 매우 기본적인 방식입니다.

(pg254) 우리는 언제나 모든 문제를 객체지향적 관점에서 생각했습니다. OOP는 인간이 항상 채택했던 것과 같은 관점을 적용하는 것에 불과합니다. 다만 이번에는 계산 문제를 해결하기 위해 프로그래밍 언어를 사용할 뿐입니다.

(pg 257) 개념이란 사고(thought) 또는 생각(idea)으로, 마음속에 존재하는 정신적 또는 추상적 이미지입니다. 개념(concept)은 현실 세계의 개체(entity)에 관한 인식으로 형성되거나, 단순하게는 완전히 가상적(imaginary)이며 추상적(abstract)일 수 있습니다. 나무를 보거나 자동차를 생각할 때 이에 해당하는 이미지가 서로 다른 두 가지 개념으로 떠오릅니다.

(pg 258) 무언가를 설명하려는 목적은 관련한 구체적인 개념을 청중에게 전달하는 것입니다.  ... 누군가가 마음속 지도를 가졌으며, 그 지도에는 다양한 개념과 그 개념이 서로 연결되는 방식이 나타납니다. 목표는 이 마인드맵을 청중에게 전달하는 것입니다.

(pg 259) 여러분은 문제의 개념 및 개념 사이에서 발견한 관계에 기반한 접근 방식을 사용해서 문제를 해결합니다... 컴퓨터를 이용해서 문제를 해결하려고 할 때 바로 이런 일이 일어납니다. 문제를 객체와 그들 간의 관계로 나눈 뒤, 이 객체를 기반으로 궁극적으로 문제를 해결하는 프로그램을 작성하려고 합니다. 여러분이 작성하는 프로그램은 마음속 개념과 그 관계를 모방합니다(simulate).

(pg 260) 객체지향 프로그램은 객체의 측면에서 개념을 모방합니다. 우리가 마음속으로 문제에 관한 마인드맵을 생성하는 동안, 프로그램은 메모리애 객체 모델을 생성합니다. 다시 말해 인간과 객체지향 프로그램을 비교하면 개념, 마음, 마인드맵과 같은 용어는 객체, 메모리, 객체 모델에 각각 대응합니다.

(pg 260) (컴퓨터를 사용하는 이유를 설명하며...) 마인드맵은 감정에 따라 잊히거나 변경될 수 있습니다. 하지만 컴퓨터는 감정이 없고 객체 모델은 인간의 생각보다 훨씬 튼튼합니다. 이러한 이유로 객체지향 프로그램을 작성해야 합니다. 마음속 개념을 효율적인 프로그램과 소프트웨어로 전달하기 위해서입니다.


  객체지향에 대해 우리가 마음속으로 문제를 대하는 방식과 비교하여 설명해준 부분이 지금까지 이 책을 읽은 부분중에서는 가장 백미인 것 같다.(적어도 나에게는...) 아직 읽지 못한부분이 더 많기는 하지만 거의 매일 조금씩 천천히 살펴보면서 배워가고 있다. 저자가 설명한 것처럼... 시니어가 되기 위한 길에 도움을 주는 든든한 구글과 같은 책일 것 같다는 생각에 꾸준히 학습해볼 예정이다.


"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
처음 처음 | 이전 이전 | 1 | 2 | 3 |다음 다음 | 마지막 마지막