본 게시물은 길벗 23차 개발자 리뷰어로 선정되어 길벗 출판사로부터 도서를 제공받아 작성되었습니다. 관련 책이 두 가지가 있다. 해결 할 프로덕트 디자인, 해결 할 프로덕트 프로덕트 책은 프로덕트 디자인 책 보다 좀 더 두껍고 더 전반적이고 많은 정보를 담고 있는 것 같다. 스타트업을 추진해 보고 싶고, 개인 사업을 추진해 보고 싶은 분들에게 꼭 추천하고 싶은 책이다. 어떤식으로 사업 출발에 접근할지도 방법론적으로 세세하게 설명되어 있다. 서문에서 부터 나와있듯이, 이 책은 모든 부분을 다 읽을 필요가 없다. 사업을 고려하는 분들이 겪고 부딪칠만한 현실적인 고민들이 각 파트별로 분류되어 있고 내가 보고 싶은 해당 부분을 취해서 참고하면 된다. 이처럼 체크리스트를 채워나가면서, 문제 해결이 필요한 해당파트..
본 게시물은 Deeplearning.ai 코스를 수강 후 요약 및 정리한 내용입니다. 본 강의의 마지막 파트 Agent 이다 ㅎㅎ Agent의 주된 개념은 Language model 이 다음에 취할 행동 (Action)을 선택하도록 하게끔 하는 것이다. 따라서 Agent에서 Language model은 어떤 Action을 취할지 결정하는 Reasoning Engine의 역할을 한다. 앞서 우리는 QA task와 같은 많은 task들을 다뤘지만, Reasoning Engine 과 같은 기능이 LLM에 있으면 좋을 것으로 생각된다. Agent 에서 중요한 것은 Language model을 Reasoning Engine으로 사용 할 것이기 때문에 temperature=0으로 지정해두고 코드를 작성해야 한다! ..
본 게시물은 Deeplearning.ai 코스를 수강 후 요약 및 정리한 내용입니다. 우리가 LangChain 을 통해 LLM 응용 문제들을 앞서 다뤄보았다! 그렇다면 우리가 다룬 내용들이 제대로 잘 동작하고 있는지, 진행되고 있는지 확인하기 위해서는 Evaluation Metrics 와 같은 평가 지표가 필요할 것이다. 대규모 언어 모델을 통해 만든 Task들을 평가하려면 어떤 과정을 거쳐야 할까? 각각의 파트들이 어떻게 작동하는지, input output 등을 잘 알고 있어야 한다. LM이 다른 LM, Chain 등을 서로 평가할 수 있다. example question 을 생성하고 example ground truth 들을 생성해서 평가하는 방법을 거친다. 디테일하게 하나씩 실습해 보도록 하자. 먼..
본 게시물은 Deeplearning.ai 코스를 수강 후 요약 및 정리한 내용입니다. 우리가 자연어 처리 모델을 주로 쓸 때, 특히 대규모 언어 모델을 통해 주로 하고 싶은 것. 바로 QnA task 이다. QA 파트에서는 다음과 같은 내용들을 정리하였다. 주어진 문서 및 자료 질문에 답변하기 pdf, 웹페이지, 인트라넷 내부 문서 등 훈련되지 않은 문서에 처음으로 접하게 되는 것 LLM이 필요에 따라 유동적으로 적용된 다는 것을 의미함 언어 모델, 프롬프트, Output Parser 등을 넘어서서 LangChain의 임베딩 모델, 벡터 저장소 등 혹시 글을 읽다가 모르는 내용들이 나오게 된다면 이전 게시글들을 참조하자. 셋 다 너무 너무 중요한 내용들이다!! 2023.12.15 - [LLM/LangCh..
함수 하나씩 만들어가면서 천천히 풀이하면 되는 문제 스택 자체를 구현하는 문제이다 괄호문제에서 설명했듯이, Stack 은 Last in Frist Out (LIFO) 구조를 띈다. 쉽게 생각하면 한쪽 면이 막힌 원통을 생각하면 된다. 따라서 마지막에 들어간 원소가 제일 먼저 나올 수 있는 구조가 되는 것이다. 코드는 아래처럼 작성했는데, input() 함수를 사용하는 것 보다 import sys sys.stdin.readline().strip() 이용하는 것이 속도면에서 빠르다고 한다. (그래서 처음에 단순히 input 으로 입력을 받았다가 시간초과에 걸렸다.) input() 과 sys.stdin.readline().strip() 에서 시간 차이가 발생하는 이유 input() 은 사용자로부터 한 줄을 입..
스택 공부하면서 풀이했는데 익숙하다 했더니 아카데미에서 배웠던 문제이다 (ㅋㅋ) Stack 자료구조를 이용하면 풀이할 수 있다. Stack 자료구조는 Last in First Out(LIFO) 구조를 말하고 Stack을 하나 만들어서 stack = [] 형태로 두고 풀이하면 된다 *** 처음에 고안했던 방법은 (틀렸지만) list로 input을 받아서 list의 원소들을 보면서 list[0]과 list[-1]이 다르면 쌍으로 묶어서 pop 하고, 같은 경우 하나만 pop 해서 다른 리스트에 넣으면 어떻게 되지 않을까... 라는 생각을 했지만? indexing에서 부터 out of range 오류가 나서 Stack으로 풀이하였다... *** Pseduo-code 먼저 pseudo-code를 작성해보면, 1..