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

 

책 표지와 제목만 보고 "멀티 에이전트"만을 위한 책이라고 착각하면 절대 안된다.

"AI Agent"를 개발하고 싶은 분들을 위한 친절한 안내서이다.

 

 

eBook을 열어 보자마자 연필로 그려진 저자가 궁금해졌다.

그런데, 책에는 저자에 대한 설명이 없어서 간단하게 검색을 해봤더니, 유명한 분이셨다 !!!

  - https://search.kyobobook.co.kr/search?keyword=%EC%84%9C%EC%A7%80%EC%98%81&target=total&totalType=kyobo&ra=date&chrcCode=1000509412

 

내가 봤던 많은 책의 저자이셨다! 왜 몰랐을까!? 왜 책에 저자 이력을 기재하지 않으셨을까?

아! 그렇구나!!! 진정한 실력자는 그냥 책 내용으로 승부하시는구나 !!!

 

좀더 찾아서 교보문고에 등록된 프로필을 보니, 역시, 마소 출신의 스페셜리스트 !!! 진정한 고수 !!!

  - https://store.kyobobook.co.kr/person/detail/1000509412

 

이제 책을 보면서 공부를 해보자.

 

참고로 한빛 전자책을 보면서 2페이지 보기로 공부를 하면서 정말 좋았는데,

듀얼 모니터를 이용해서 하나에서는 책을 보고 다른 모니터에서 코딩을 하는 것이 상당히 괜찮은 사용성이었다.

살짝 아쉬운 것은 책에 있는 URL 등을 copy&paste 할 수 없어서 좀 아쉬웠다.

 

IT 서적들은 종종 순서대로 읽지 않아도 된다고 말하곤 하는데,

이 책은 심지어 개인 취향에 따라 어떻게 건너 뛰어도 되는지를 친절하게 알려주고 있다.

 

Chapter 01/02 부분은 이론적인 내용을 설명해주고 있고,

Chapter 03 에서는 실습 환경 준비에 대한 설명이고,

Chapter 04 부터 Chapter 12 까지의 내용은 실제 구현한 Agent에 대한 설명으로만 이루어져 있다.

 

이 책에서의 실습은 전반적으로 Windows 환경을 기준으로 설명을 해주고 있다.

또한 실습을 위해서는 OpenAI(ChatGPT), Claude, Cursor 3종의 외부 생성형AI 서비스를 사용하고 있다고 전제한다.

 

무료 등급으로도 맛을 볼 수는 있지만 실습을 제대로 하고자 한다면 유료 등급이 필요하다.

 

책에서 제안하는 운영체제와 서비스들이 물론 당연히 필수는 아니기에,

다른 환경(Ubuntu)과 AI 서비스(Gemini, OpenCode, Openrouter 등)를 사용하겠다라고 하면

발생하는 차이 부분에 대해서는 스스로 깨우쳐 나가야 한다(개인적으로는 가장 많은 공부를 할 수 있는 추천하는 방법이다 !!!)

 

참고로 MCP 및 FastMCP 부분을 설명할 때,

이 책에서는 패키지를 어떻게 설치하는지 개발환경은 어떻게 맞춰야 하는지에 대한 설명은 하지 않는다.

즉, 이 책은 어느 정도 수준이 있는 개발자를 위한 도서이다.

 

아쉬운 부분은 실습 코드의 실행도 Windows를 기준으로 구현이 되어 있다는 점인데,

AI를 이용해 Ubuntu에서도 실행이 잘 되도록 개선해보면 공부에 많은 도움이 될 것이다.

이 책을 볼 정도라면 그 정도는 충분하게 ... ?! ^^

 

Chapter 04 부터는 책에서 설명해주는 내용만 보는 것 보다

실습 코드를 다운로드 받은 다음,  VSCode로 열고 GitHub Copilot을 이용해서 질문하면서 살펴보면 훨씬 더 좋다.

 

이 책은 생성형AI 코딩 에이전트를 이용해 코드 생성 하는 것을 알려주는 책이 아니다.

멀티 에이전트가 무엇이고 어떻게 구성해야하는지에 대한 것을 설명해주는 책이다.

 

그리고, Chapter 04부터 설명해주는 프로젝트들의 경우 상당히 다양하고 수준 높은 유용한 코드를 제공해주고 있다.

에이전트 개발을 하려는 분들이라면 참고해보면 많은 도움이 될 것이다.

반응형

제목에 낚인 분도 계실 것 같다.

우리 엘론 머스크 형님의 Grok 하고 나도 햇갈려서 뭔가 이상해했었다.

 

Groq은 사실 H/W 업체로 봐야 한다.

  - https://groq.com/

 

 

보다 빠르고 낮은 가격에 인퍼런싱을 할 수 있는 LPU 업체인 것이다.

 

LPU가 뭐냐고?

`LLM Processing Unit`이라고, LLM 처리를 위한 칩이다.

  - https://groq.com/lpu-architecture

 

 

그 기술력을 인정 받아서 25년 12월, 200억 달러(약 30조)에 Nvidia에서 인수했다.

  - https://news.hada.io/topic?id=25318

 

 

  - https://www.cnbc.com/2025/12/24/nvidia-buying-ai-chip-startup-groq-for-about-20-billion-biggest-deal.html

 

 

그리고,

Groq은 자신들의 칩 성능을 증명하기 위해서 `오픈 웨이트 모델`들의 API를 제공하는 서비스를 했는데

저렴한 가격과 함께 좋은 성능을 보여 생각보다 꽤 괜찮은 인기를 얻고 있다.

 

 

다양한 모델들을 제공하고 있지는 않은데,

모델 자체의 다양성 보다는 다양한 용도에 걸쳐서 골고루 제공하고 있다.

 

 

 

Groq에 대해서는 그만 알아보고

API를 사용해보기 위해 회원 가입을 빠르게 해보자 !!!

  - https://console.groq.com/home

 

 

물론 공짜는 아니다 !!!

성능(속도)에 자신이 있기에 가장 앞에 TPS를 내세우고 있다.

  - https://groq.com/pricing

 

 

공짜가 아니라서 서운해하면 안된다.

Free Plan 에서도 꽤 쓸만큼 제공해준다.

  - https://console.groq.com/docs/rate-limits

 

 

각 필드가 어떤 의미인지 모르겠다고 ?!

그럴줄 알고 친절하게 다 설명해준다.

 

 

API를 사용하기 위해서는 당연히 Key를 발급 받아야 한다.

오른쪽 위 메뉴에서 `API Keys`를 클릭하자.

  - https://console.groq.com/home

 

 

`Create API Key`를 클릭하면 된다.

  - https://console.groq.com/keys

 

 

적당히 이름과 만료 기간을 정해주면 된다.

 

 

이렇게 생성한 Key 값을 잘 적어두자.

 

 

어떻게 사용할지 모를 때에는 공식 문서를 살펴봐야 한다.

  - https://console.groq.com/docs/overview

 

 

응?! 뭐지 Getting Start 동영상이 비공개 ????

하지만, 우리는 빠르게 `Quick Start`를 살펴보도록 하자.

  - https://console.groq.com/docs/quickstart

 

 

나는 uv를 사랑하기에 uv 방식으로 따라해봤다.

 

 

groq 패키지를 설치하자.

 

 

소스 코드는 `Quick Start`에 있는 것 그대로 해봤다.

 

 

아까 받아놓은 Key 값을 환경 변수로 설정하고

Python 실행하면 ... 꽤 빠르게 결과가 나온다.

 

 

대시보드를 보면 API를 얼마나 사용했는지 확인도 할 수 있다.

  - https://console.groq.com/dashboard/metrics

 

 

이것 저것 실험할 때 잘 사용해봐야겠다 !!!!

반응형

오늘은 재미있는 컨텐츠로 포스팅 !!!

 

GPT, Gemini, Opus, Sonnet, Grok, DeepSeek 중에 누가 제일 똑똑할까?

아니, 누가 돈을 제일 잘 벌까?

아니, 아니, 누가 게임을 제일 잘 할까?

 

그 호기심에 대한 답까지는 아니지만,

살짝 엿볼 수 있는 재미있는 사이트가 있다.

 

LLM Holdem

- https://llmholdem.com/

 

 

LLM 끼리 둘러 앉아서 홀덤을 하고 있다 !!!

 

현재 순위를 한 번 살펴보면, GPT 5.2가 제일 잘 하고 있다.

- https://llmholdem.com/leaderboard

 

 

지켜보기만 하는 것은 재미가 없으니,

직접 `Create Room`을 해서 Join을 해보자.

 

 

나랑 상대할 LLM을 고를 수도 있다.

 

 

나쁜 것들!

나를 탕진시키고 지들끼리 게임을 하고 있다니 ... ㅠㅠ

 

대출 받아서 다시 참여할까? 하다가 ... 어?! 지들끼리 짜고 하는 거 아냐? 라는 생각이 ... ㅋㅋ

 

 

재미로 살펴보자 ^^

반응형

Local LLM을 직접 띄워서 공부하려는데,

GPU를 갖고 있지 않다고 시작도 하기 전에 포기하는 분들이 의외로 많은 것 같다.

 

사실 인내심만 충분히 있다면 CPU로도 맛보기는 가능한데도 이를 모르는 경우도 많은 것 같고,

 

또 하나! 우리의 구글님께서는 아름다운 Colab을 무료로 제공해주고 있기에

이를 이용하면 어지간한 그래픽카드에서도 어려운 모델들을 이용할 수 있게 된다.

 

[ Gemma ]

이번에 사용해볼 모델은 구글님이 우리에게 은혜를 내려주신 Gemma 이다.

https://deepmind.google/models/gemma/

 

 

구글님이 상업적으로도 사용할 수 있도록 `open-weights`로 공개해준 모델로써,

그다지 많은 인기가 높지는 않지만 구글님이 꾸준히 신경써주셔서 성능도 어지간히 나오는 괜찮은 모델이다.

 

다양한 유형의 다양한 크기 모델을 제공해주기 때문에, 상황에 맞게 골라서 사용하면 된다.

- https://ai.google.dev/gemma/docs/get_started?hl=ko

 

 

다만, 상업용으로도 사용할 수 있는 괜찮은 라이선스 조건이지만

일반적인 라이선스 유형은 아니고 'Gemma License'라는 특화된 라이선스이기에 주의를 하기는 해야 한다.

 

[ Ollama ]

LLM 모델을 serving하기 위해서는 사실 공부해야할 것도 많고,

 vLLM이나 SGLang같은 솔루션들을 살펴보고 이를 실행해야하는 등 어려움이 많다.

 

하지만, Local LLM을 사용하는 사람들을 위해 은혜로운 솔루션이 등장했으니,

그것이 바로 Ollama이다 !!! 그것도 MIT 라이선스로 !!!

https://ollama.com/

 

 

사용법은 더 이상 쉬운 방법이 없을 정도이다.

홈페이지에서의 가이드도 너무나 깔끔하다.

https://ollama.com/library/gemma3:12b 

 

 

[ Ollama on Colab ]

Colab에서 GPU 리소스를 사용하도록 하자.

https://colab.research.google.com/

 

 

Ollama 설치를 위해서 기본적인 패키지들을 미리 설치해주자.

!sudo apt-get install zstd lshw

 

 

Ollama 설치 자체는 너무나 쉽다.

!curl -fsSL https://ollama.com/install.sh | sh

 

 

서비스 실행은 직접 해줘야 한다.

!nohup ollama serve > ollama.log 2>&1 &

 

 

실제 실행에는 소요시간이 조금 필요하다. 2~3초 정도!?

 

여기까지만 하면 기본적인 준비는 끝이다 !!! 너무 쉽지 않은가!?

 

이제 다양한 활용 방법을 알아보자.

 

 

[ Ollama CLI ]

Gemma3 12B 모델을 이용해서 질문을 해보자.

!ollama run gemma3:12b "한국의 수도는 어디야?"

 

 

잘 대답을 하기는 하는데, 첫 실행에는 3분 정도 소요가 된다.

Gemma3 12B 모델을 다운로드 받는 것에 시간이 걸리는 것이다.

 

다시 같은 질문을 해보자.

!ollama run gemma3:12b "동탄이 어디인지 알아?"

 

 

이번에는 13초 정도만에 답변을 해준다.

 

간단한 Local LLM 사용 ... 정말 쉽지 않은가?!

 

 

[ with Python ]

Python으로 LLM을 이용하도록 해보자.

 

그렇게 하기 위해서는 우선 필요한 Local LLM 다운로드를 먼저 해야한다.

!ollama list
!ollama pull gemma3:12b

 

 

`ollama list`를 이용해서 필요한 모델이 있는지 먼저 확인을 해보고

없으면 pull을 이용해 다운로드를 받으면 된다.

 

다운로드를 받았다면 이렇게 확인이 된다.

 

 

Python을 이용해서 ollama 활용을 하기 위해서는 패키지 설치가 필요하다.

!pip install ollama

 

 

이제 준비는 모두 끝났다.

코딩을 해보자.

import ollama 

try : 
    response = ollama.generate( 
        model= "gemma3:12b" , 
        prompt= "대한민국의 제2의 수도는 어디인가요?"
     ) 
    print (response[ "response" ]) 

except Exception as e: 
    print ( f"오류가 발생했습니다: {e} " )

 

 

순차적으로 문장을 생성하는 LLM 특성을 반영해서

stream 방식으로 처리하도록 해보자.

import ollama 

try : 
    client = ollama.Client() 
    stream = client.generate( 
        model= "gemma3:12b" , 
        prompt= "대한민국의 제3의 수도는 어디인가요?" ,
        stream= True
     ) 

    print ( "Stream:" ) 
    for chunk in stream: 
        print (chunk[ 'response' ], end= '' , flush= True ) 
    print ()

except Exception as e: 
    print ( f"스트리밍 중 오류가 발생했습니다: {e} " )

 

 

 

[ REST API ]

Ollama는 실제로 REST API 방식으로 서빙이 된다.

그렇기에 `curl`을 통해서도 접근을 할 수가 있다.

!curl http://localhost:11434/api/generate -d '{ \
  "model": "gemma3:12b", \
  "prompt":"경기도의 대표 도시는 어디야?" \
}'

 

 

generate 방식 말고 chat 방식도 지원을 해준다.

!curl http://localhost:11434/api/chat -d '{ \
  "model": "gemma3:12b", \
  "messages": [ \
    { "role": "user", "content": "경기도의 대표 도시는?" } \
  ] \
}'

 

 

어!? 그렇다면,

Colab으로 서비스를 띄워놓고 내 PC에서 원격으로 사용할 수는 없을까!?

 

있다!!!! 가능하다!!!

 

 

[ ngrok ]

Colab에서 띄워놓은 서비스를 외부에서 접근할 수 있도록 하기 위해서

명시적인 주소를 하나 할당해주는 것이 필요하다.

- https://ngrok.com/

 

 

가입만 하면 무료로 사용할 수 있는 아주 아름다운 서비스이다.

하지만, 당연하게도 token 발급을 해야한다 ^^

https://dashboard.ngrok.com/get-started/your-authtoken

 

 

Colab에 어떻게 설치를 하면 좋을까!?

ngrok은 아주 친절하게 다양한 설치 방법을 제공해준다.

우리는 Download 방식으로 해보겠다.

https://ngrok.com/download/linux?tab=download

 

 

파일을 다운로드 받을 수 있는 주소를 먼저 확보해보자.

 

 

이제 Colab에서 설치를 진행하면 된다.

!wget <URL>

!tar -xvzf ngrok-v3-stable-linux-amd64.tgz ngrok

!./ngrok config add-authtoken <TOKEN>

!ollama serve & ./ngrok http 11434 --host-header="localhost:11434" --log stdout & sleep 5s && ollama run gemma3:12b

 

 

ngrok을 실행하면 URL 주소를 하나 알려준다. 메모하자.

 

 

 

[ Remote Connect with Python ]

집에 있는 내 PC에서 접근해보기 위해서 일단 Python 실행 환경을 확보하자.

최근 유행에 맞춰 `uv`를 이용해 보도록 하겠다.

> uv init gemma --python 3.12

> cd gemma

> uv add langchain_ollama

 

 

소스 코드는 단순하다.

from langchain_ollama import ChatOllama

model = ChatOllama(
       model="gemma3:12b",
       temperature=0,
       base_url="URL"
       )

response = model.invoke("대한민국의 수도는 어디야?")
print(response)

 

 

너무나 잘 된다 !!!

 

이제는 Colab에 나만의 LLM Server를 두고, 마음껏 LLM API를 사용할 수 있게 되었다 !!!

 

 

가난한 개발자의 몸부림은 계속 됩니다 !!! ^^

반응형

 

좋은 기회가 되어서 정말 간만에 길벗출판사의 도서를 리뷰하게 되었다.

 

개인적으로 좀 바쁜 시기였음에도 불구하고, 도저히 피할 수 없는 너무나 매력적인 조건들이라 리뷰 신청을 하지 않을 수 없었다.

- 최근 진행하고 있는 스터디에서 트랜스포머를 건드려보고 있는데, 직접 만들어보는 GPT 라니 !!!

- 개인적으로 공부할 때 가장 좋아하는 스크래치 부터 직접 구현해보는 방식이다 !!!

- 원서의 출처가 MANNING 이라면.... 최소한 기본 이상은 될거라는 믿음이 있다 !!!

- 소스코드 구현도 PyTorch 기반으로 했다. 와우 !!!

- 내가 너무나 추종하는 박해선님이 옮긴이로 참여한 책이다 !!! 우와 !!!

- 박해선님이 참여했다면 ... 하나 하나 꼼꼼하게 다시 만들어 주시는 샘플 코드들이 기대되고 ... !!!

- 박해선님이 참여했다면 ... 혹시 동영상 강의도 기대를 ?! ?!

 

 

표지를 보곤 출간한지 좀 오래된 책인 것 같은 느낌이 들었지만,

원서 "Build a Large Language Model (From Scratch)"를 살펴보니 24년 10월 29일에 출간되었다.

 

음... 그냥 교과서 같은 느낌의 표지 디자인이라고 생각해야겠다! ㅋㅋ

 

 

개인적으로 열렬한 팬심을 갖고 있는 박해선님의 책이라 무조건 믿음 이다 !!! ^^

 

저자인 '세바스찬 라시카'의 그동안의 저서들과 이번 책을 봤을 때 교과서 스타일을 좋아하는 것으로 보이기에

박해선님의 스타일과 너무 잘 맞는, 말 그대로 찰떡궁합인 것 같다.

 

 

원서가 출간된지 거의 1년만에 번역본이 출간된 것이다보니 AI 시대에 있어서 1년이라는 시간이 살짝 걱정되지만

최근 LLM의 근간이 되는 그 뿌리에 대한 내용이기도 하고,

코드에 있어서의 문제는 박해선님이 충분히 그 간극을 매꿔주시고 부족한 것은 보충해주셨을 것이라 문제 없을 것이다.

 

 

LLM 관련 샘플 코드들의 경우 라이브러리 버전 맞추기라던지, GPU 리소스의 문제가 있기 때문에

종종 Colab에서만 실행 가능하거나, 실습 환경 구축하는 것에 많은 제약이 있기도 하는데

친절하게도 일반적인 환경에서도 실습 가능하도록 세심히 배려해주셨다.

 

소스코드는 아래 링크와 같이 박해선님의 저장소에서 찾아볼 수 있다.

https://github.com/rickiepark/llm-from-scratch

 

 

이 책은 표지뿐만 아니라 챕터 구성이나 그 내용, 심지어 목차의 타이틀만 봐도 "교과서"의 냄새가 많이 난다.

나쁜 의미가 아니라 LLM에 대해서 공부하는 사람에게는 너무나 좋은 너무나 충실한 책이라는 의미이다.

 

 

개인적으로 풀컬러 책을 좋아하기에 조금 아쉽기는 하지만,

그래도 흑백으로만 하지는 않고, 주황색으로 포인트를 주었다.

 

 

이 책은 부록이 살짝 숨어있다.

책의 뒷 부분을 보면 "워크북"이 분리가 된다.

 

 

그렇다 !!! 이 책은 정말 교과서 였던 것이다 !!!

책을 잘 공부했는지 연습문제도 제공을 해준다 !!!

 

음... 문제의 퀄리티가 엄청 고급스럽지는 않은 것 같은데,

그래도 제대로 공부했는지 확인하는 용도로는 충분히 괜찮은 것 같다.

 

 

혹시나, 하고 찾아봤는데

역시나 박해선님은 나의 기대를 져버리지 않고 동영상 강의를 제공해주셨다.

https://www.youtube.com/playlist?list=PLJN246lAkhQhgakhcxz-5GwG_NYuJgSv1

 

 

교과서 책이라서 그러신 것인지, 별도 강의도 운영을 하신다. (이것은 물론 유료 강의이다 ^^)

http://www.inflearn.com/course/lt밑바닥부터-만들면서-배우는-llm-1

 

 

 

아! 그리고, 현재 이 책의 경우 아직 초판이기에 정오표 확인이 정말 중요하다.

https://tensorflow.blog/llm-from-scratch/

 

 

오타도 물론 있지만, 소스코드 부분에 있어서 생각보다 많은 부분의 정오표가 기록되어 있다.

공부할 때 빼놓지 말고 필독 !!!

 

 

 

이 책을 보면 설명도 정말 잘 되어있고 그림으로 설명하는 부분도 정말 세심하게 많이 신경써서 표현된 것을 알 수 있다.

 

하지만, 조금 아쉬운 점은 지나친 한글화 작업이다.

뭔가 의도하신 바가 있으셔서 그렇게 하셨을 것이라 생각은 하지만,

공부하는 입장에서 지나친 한글화는 오히려 더 햇갈리거나 나중에 더 어려움을 느끼게 된다.

 

예를 들어, "layer normalization" 같은 경우 "층 정규화"라고 사용하는 것이 크게 어색하지는 않은데

"causal attention" 같은 경우 "코잘 어텐션"이라고 한글로 사용을 하게 되면 상당히 많이 어색하다.

 

구글에서 "코잘 어텐션"이라고 검색해도 잘 나오지도 않는다.

오히려 "인과적 어텐션"이라고 검색하는 것이 더 많은 결과가 나온다.

 

아직 대중화(?)되지 않은 용어의 경우에는 그냥 본래 단어(영어)로 표현하는 것이 더 좋지 않을까 생각해본다.

 

(하지만, 미천한 내가 알지 못하는 이유가 있을 거라는 생각은 한다. 셀프 어텐션과 뭔가 pair가 되어야 한다거나 하는...)

 

 

마지막으로 이 책에 대해서 총편을 해보자면,

LLM을 공부하고자 하는 사람이라면 교과서로 생각하고 무조건 구매해서 꼼꼼하게 공부해야 하는 책이다 !!!

반응형

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

 

 

그렇지 않아도 최근에 LLM과 연관된 스터디를 하고 있던 중에 만나게 된 반가운 책

"NLP와 LLM 실전가이드"

 

 

원서의 제목은 "Mastering NLP from Foundations to LLMs"인데,

한글로 번역하자면... '기초부터 LLM까지, 자연어 처리 완전 정복!' 정도로 될 것 같다 ^^

 

여기서 또 하나 주목해야할 이름이 보인다. "박조은"

데이터분석, Kaggle, Python 같은 것들을 공부하신 분들이라면 한 번쯤은 들어보셨을 이름 ^^

그래서인지 아래와 같이 동영상 강의도 유튜브로 계속 올려주고 계신다. 와우~

 

 

그리고, 실습을 위한 노트북 파일도 새롭게 손봐서 따로 올려주셨다.

- https://github.com/corazzon/Mastering-NLP-from-Foundations-to-LLMs

 

 

원래 제공하는 실습 파일과 비교해보는 것도 재미(?)가 있을 수 있다.

 

 

위에서 볼 수 있는 원서의 표지 그림을 보면 알겠지만

이 책의 본질은 NLP(자연어 처리) 책이다.

그 기반이 되는 수학적인 요소들을 포함해 LLM까지 언급하고 있는 것이다.

 

 

책에서는 "대상 독자"를 아래와 같이 말하고 있다.

 

 

내가 생각했을 때에는 "NLP(자연어 처리)와 관련된 전체적인 내용을 훑어보고 싶은 사람"이라고 말해야 하지 않나 싶다.

 

이 책의 목차는 다음과 같다.

 

CHAPTER   1   자연어 처리 개요 살펴보기
CHAPTER   2   머신러닝과 자연어 처리를 위한 선형대수, 확률, 통계 마스터하기
CHAPTER   3   자연어 처리에서 머신러닝 잠재력 발휘하기
CHAPTER   4   자연어 처리 성능을 위한 텍스트 전처리 과정 최적화
CHAPTER   5   텍스트 분류 강화: 전통적인 머신러닝 기법 활용하기
CHAPTER   6   텍스트 분류의 재해석: 딥러닝 언어 모델 깊게 탐구하기
CHAPTER   7   대규모 언어 모델 이해하기
CHAPTER   8   대규모 언어 모델의 잠재력을 끌어내는 RAG 활용 방법
CHAPTER   9   대규모 언어 모델이 주도하는 고급 응용 프로그램 및 혁신의 최전선
CHAPTER 10   대규모 언어 모델과 인공지능이 주도하는 과거, 현재, 미래 트렌드 분석
CHAPTER 11   세계적 전문가들이 바라본 산업의 현재와 미래

 

전체 목차와 함께 이 책의 쪽수 424쪽인 것을 보면 알겠지만

"기초 수학부터 실전 AI 문제 해결까지" 살펴볼 수 있는 책인 것은 맞지만

깊이 있게까지 살펴보려면 다른 자료들을 더 많이 찾아봐야할 것이다.

 

기초 수학부터 언급한다고 하여 좋아할 사람도 있고, 싫어할 사람도 있을텐데....

그냥 말 그대로 한 번 쭉 훑어보고 지나가는 수준의 수학이기 때문에

너무 큰 기대도 너무 큰 걱정도 할 필요는 없을 것 같다.


이 책은 원서 제목 그대로가 딱 적당한 제목인 것 같다.

 

"Mastering NLP from Foundations to LLMs"

(기초부터 LLM까지, 자연어 처리 완전 정복!)

반응형

GitHub에서 여러 LLM 모델들을 가지고 놀 수 있는 서비스를 제공하고자 하고 있어서

이것을 소개해보려 한다.

 

아직은 정식 서비스를 하고 있지 않아서인지, 메뉴가 꼭 꼭 숨어있다.

 

아! 아직은 Preview 상태라서 해당 메뉴가 보이지 않는 분들이 계실 수도 있다.

그런 분들은 그냥 이런게 곧 나오겠구나~하고 구경 먼저 해보시길 ^^

 

일단 로그인을 하고...

GitHub

 

왼쪽 위 메뉴 버튼을 눌러 펼친 다음에

"Marketplace"를 선택하자.

Menu

 

Marketplace 메뉴들을 보면 "Models"를 발견할 수 있다.

Models

 

여러 LLM 모델들을 볼 수 있는데,

일단 친근한 GPT-4o를 선택해보자.

OpenAI GPT-4o

 

오른쪽 위의 "Playground" 버튼을 선택해보자.

Playground

 

System prompt를 비롯해서 Max Tokens라던지, Temperature 등 여러 parameter들을 설정할 수도 있다.

직접 프롬프트를 입력하면 대기시간 없이 즉시 응답을 해준다.

prompt

 

한글 출력이 깨지는 것이 있는데, model의 잘못인지 GitHub에서의 출력 문제인지는 불분명하다.

 

말만 들어봤던 Mistral 모델을 가지고도 한 번 해봤다.

한글도 잘 알아듣고, 결과도 나름 괜찮네!?

Mistral

 

현재 GitHub Models에서 사용해볼 수 있는 model들은 다음과 같다.

 

이걸 가지고 뭔가 재미난 것들을 해볼 수도 있을 것 같은데...

Preview 기간이 끝나면 당연하게도 유료 서비스가 될 것 같아서 ^^

반응형

그냥 막 갑자기 GenAI를 이용해서 뭐라도 하나 간단하게 만들어 보고 싶다는 생각에 막 진행해봤다.

 

0. 실습 환경

- Ubuntu 20.04

 

1. Gemini API

- 우리의 Google님은 간단하게 사용하는 정도는 무료로 제공해주신다.

  . https://ai.google.dev/pricing?hl=ko#1_5flash

Gemini Pricing

 

- 언제나 그렇듯이 API 사용을 위해서는 Key를 생성해야 한다.

  . https://ai.google.dev/aistudio?hl=ko

Google AI Studio

 

- 구글 계정을 통해 로그인 하고 API key를 얻으면 된다.

  . https://aistudio.google.com/apikey

Get API key

 

2. React App 생성

- Vite를 이용해서 React App을 생성하자. 다음 링크를 참고해서 진행하면 된다.

  . https://www.whatwant.com/entry/vite

 

3. 패키지 설치

- Gemini API 사용을 위해서 패키지를 설치하자.

> npm install @google/generative-ai

> npm install

> npm run dev

npm run dev

 

- 브라우저를 열어서 접속해보자.

WEB

 

4. 파일 생성

- src/ 디렉토리 밑에 파일 하나 새로 만들어서 코드를 작성해보자.

  . 여기에서는 NagBox.jsx 이름으로 만들어봤다.

new file

 

5. 코드 작성

- 다음과 같이 코드를 작성해보자.

import { useState, useEffect } from "react";
import { GoogleGenerativeAI } from "@google/generative-ai";

export default function NagBox() {
  const [response, setResponse] = useState("");
  const [error, setError] = useState(null);
  const [currentTime, setCurrentTime] = useState(new Date());

  const fetchNag = async () => {
    try {
      const genAI = new GoogleGenerativeAI("API KEY");
      const model = genAI.getGenerativeModel({ model: "gemini-1.5-flash" });
      const prompt = "공부를 열심히 할 수 있도록 잔소리를 해주세요.";
      const result = await model.generateContent(prompt);
      const text = result.response.text();
      setResponse(text);
    } catch (err) {
      setError(err.message);
    }
  };

  useEffect(() => {
    fetchNag();

    const nagIntervalId = setInterval(fetchNag, 30000);
    const clockIntervalId = setInterval(() => setCurrentTime(new Date()), 1000);

    return () => {
      clearInterval(nagIntervalId);
      clearInterval(clockIntervalId);
    };
  }, []);

  return (
    <div style={{ position: "relative", minHeight: "100vh" }}>
      {error ? <p>{error}</p> : <p>{response}</p>}
      <div
        style={{
          position: "fixed",
          bottom: 10,
          right: 10,
          backgroundColor: "white",
          padding: "10px",
          borderRadius: "5px",
          boxShadow: "0 0 10px rgba(0,0,0,0.2)",
        }}
      >
        {currentTime.toLocaleTimeString()}
      </div>
    </div>
  );
}

code


- main.jsx 파일도 수정해주자.

import { StrictMode } from 'react'
import { createRoot } from 'react-dom/client'
import './index.css'
// import App from './App.jsx'
import App from './NagBox.jsx'

createRoot(document.getElementById('root')).render(
  <StrictMode>
    <App />
  </StrictMode>,
)

 

code

 

- 웹브라우저로 결과를 확인해보자.

WEB

 

이모지를 사용하라고 하지도 않았는데...

우와... 잔소리를 하라고 했지, 나의 자존감을 꺾으라고는 안했는데... 우와~~~~ 제미나이, 대단하네!!!

 

 

기본적인 코드는 아래 사이트를 참고했습니다.

- https://www.codedex.io/projects/generate-a-poem-with-google-gemini

 

반응형

'AI_ML > LLM' 카테고리의 다른 글

HuggingFace - LLAMA 3.2 for Korean  (2) 2024.11.12
HuggingFace - Learn - NLP Course #3  (3) 2024.11.11
HuggingFace - Learn - NLP Course #2  (0) 2024.11.10
HuggingFace - Learn - NLP Course  (1) 2024.11.09
HuggingFace (허깅페이스 소개)  (0) 2024.06.24

+ Recent posts