이번 글은 NVIDIA의 certificate 중 하나인 Prompt Engeering 자격증에 대한 취득 과정을 기술합니다. 또한, 학습과정에서 NotebookLM, GPTs, 노션AI를 활용해서 효과적으로 학습한 후기를 함께 남깁니다. 추후 다른 자격증을 공부하실 때 활용할 수 있는 좋은 레퍼런스가 될 수 있길 바랍니다.


DLI course에 대한 정보는 다음 글에 작성해놓았습니다.

https://snowgot.tistory.com/198

 

NIVIDA 인증 프로그램 정리

좋은 기회로 NIVIDA 인증 프로그램에 참여하게 되었습니다. 다양한 항목들이 있어서 정리할 겸 작성해봅니다.1. 항목큰 카테고리는 4가지(Gen Al/LLM, Deep Learning, Accelerated Computing, Data Science) 로 그 안

snowgot.tistory.com

1. 지원서 절차

인증 자격 대상이 된다면 다음 링크에 지원서를 작성합니다. Application 링크 저는 소속 기업이 있어서 스폰을 받아 지원했고, experience와 delivery plan을 집중적으로 적는게 권장됩니다. 내가 어떤 경험이 있고 이 자격을 획득하여 어떻게 사용할 것인지 기술하는 과정입니다. 정상적으로 접수되면 수 일 내 등록된 이메일로 연락이 오며, 보통 Monthly하게 학습 코호트가 시작되어 저는 바로 6월에 참여할 수 있었습니다. 해당 참여 코호트 안에 교육 이수와 최종 인터뷰까지 하는 것이 필수적으로 요구됩니다.

  • Student Assesment: 자체적으로 운영하는 Jupyter notebook 플랫폼에서 실습를 하는 과정입니다. 2주간 소요됩니다.
  • Review Instructor video: (선택사항) Assesment를 이수하면 제공되는 해설 강의입니다. 
  • Certification Interview: 최종 통과를 위한 화상 면접(영어)이 진행됩니다.

2. 이수  진행

2.1. Student Assement 개요

Student Assessment가 가장 투자 시간을 많이 하는 부분입니다. 기본적인 프롬프트 엔지니어링 기술과 함께 LCEL, Pydantic, Gradio 와 같은 프레임 워크를 알려줍니다. 하지만 정작 평가는 간단히 자연어로 프롬프팅하면 통과가 되는 쉬운 문제로 구성되어 있습니다.

교안 자체는 Jupyter notebook으로 코드가 작성되어 실행만하면 대부분 원하는 결과를 얻을 수 있지만 이 학습 방식이 생각보다 굉장히 지루했습니다. 사실 영어라서 눈에 잘 안들어오기도 하고, 이미 작성된 코드 + 추상화된 Langchain 코드의 특성상 안에 들어가는 원리를 파악하는데는 큰 도움이 되지 않았습니다. 서버에서 이미 패키징된 NVIDIA api를 사용해서 실습하는 방식인데, 저는 로컬에서 직접하고 싶어서 Container에 가입하고 했는데, 세상에 NVIDIA에 한국 verification이 없습니다 :<   통신사 이슈인 것 같은데, 그래서 그냥 gemini로 변경해서 진행했습니다. 

API key를 얻기 위해서 Verification 필요

그 과정에서 Langchain의 공식 Docs는 물론 Teddynote님이 작성하신 랭체인노트도 참고를 했습니다. 프롬프트 엔지니어링부분만 본다면 사실 많은 클래스와 메소드를 사용하지는 않지만, 워낙 Langchain이 클래스와 그 클래스를 상속한 다른 클래스가 많아서 가독성이 좀 좋진 않았습니다. 

2.2. 학습 방법: NotebookLM

추가적으로 이번에 NotebookLM을 사용해봤는데, 학습에 필요한 링크나 자료(pdf)등을 업로드 하면 RAG를 자체적으로 구축하여 질의응답을 할 수 있는 시스템입니다. 다 넣어놓고 핵심 부분을 뽑아달라고 하거나 아니면 개인적으로 궁금한 것들을 대화형으로 공부하니까 훨씬 집중이 잘되었습니다. 개인적으로 진짜 학습하기 좋은 환경인 것 같네요.

자료가 올라간 NotebookLM

3. 면접

3.1. 영어 면접 준비 - GPTs

Assessment는 충분한 시간을 가지고 문제를 풀 수 있지만 문제는 인터뷰 입니다. 교육에 관련하여 일정이나 Timeline을 알려주는 DLI 담당자가 미국에 있어서 새벽에 볼 줄 알았는데 다행이 대만에 Principle Instructor가 있어서 주간 시간 내에 볼 수 있었습니다. 프롬프트 엔지니어링과 그 기반의 이론들은 한국어로 설명하려면 어렵진 않지만 영어로 표현이 잘 안되어서 GPTs에 자연어로 빌드해놓고 공부했습니다. 확실히 다른 LLM과 달리 ChatGPT에서 지원하는 GPTs 만큼은  음성으로 대화도 편리하게 잘되고 LLM에 대한 프로토 타이핑 관점에서 유용하게 쓸만한 것 같아서 여전히 ChatGPT가 매력적인 포지션을 가지고 있는 것 같습니다. 또 면접 시작 전 30분 정도는 ChatGPT 어플과 영어로 대화하면서 입을 풀었습니다.

3.2. 면접 과정

프롬프트 엔지니어링의 수행 방법은 간단하고 쉽지만 그 기반에 대한 질문들이 많이 나왔습니다. 처음부터 토크나이징, 벡터화, one-hot encoding 의 정의와 차이점을 기술하라 등 부터 시작하여, Runnable, Tempature와 같은 Langchain와 LLM에 관련된 핵심 개념들을 질의응답 했습니다. 생각보다 Langchain의 핵심 메소드나 클래스에 대한 질문은 덜 했고 이론을 위주로 티키타카하는 시간이였습니다.  30분간 진행해서 처음에는 집중력이 좋았지만, 후에 갈수록 질문을 잘 못듣고 놓치는 상황이 발생해서 조금 아쉬웠습니다. 

3.3. 면접 후 정리: 노션 AI

요즘 Notion에서 노트AI라고 회의 내용을 저장하고 요약해주는 기능을 제공합니다. 면접과정에 이걸 켜놓고 복기하기 위한 수단으로 사용했습니다.  처음 당시는 무료로 시간제한도 없고 실시간 streaming하게 적어나가는 모습이 보였는데, 서버 부하 때문인지 녹음 시간이 제한이 되기 시작했습니다. 그래도 접근성도 좋고 편의성도 좋은 툴이라 복기할 때 잘 썼습니다.

4. 후기

미루고 미루던 Langchain을 접할 기회가 있어서 좋았습니다. 일과 병행하느라 처음에는 적잖이 집중을 못했는데 다양한 AI툴과 나의 학습방법을 갖춰나가니 조금 더 정리하는 시간이 되어서 매우 좋았습니다. 관련하여 더 괜찮은 자격증이 있으면 추후 학습 기회로 삼아볼 생각입니다. 프롬프트 엔지니어링에 대한 공부 내용과 레퍼런스는 다음 글에 작성해놓았으니 참고하시길 바랍니다!

https://snowgot.tistory.com/210

 

프롬프트 엔지니어링 with NVIDIA DLI Course

이번 글에서는 NVIDA DLI Course에서 수행한 과정에서 LLMs 특성과 그를 보완하기 위한 방법에 대해서 작성합니다. 프롬프트엔지니어링이 무엇인지 그리고 Langchian으로 어떤 클래스와 메소드를 이용

snowgot.tistory.com

 

+ Recent posts