본문 바로가기

Book

(24)
쉽고 빠르게 익히는 실전 LLM - CHAPTER 6. 임베딩과 모델 아키텍처 맞춤화 추천 시스템 만들기 1. 문제와 데이터 설정훈련 및 테스트셋으로 분리 2. 추천의 문제 정의[고려할 요소]사용자 특성 - 연령, 검색 기록, 과거 아이템 상호작용아이템 특성 - 장르, 가격, 인기도사용자의 감정 상태, 시간, 기분, 맥락 등 [패턴 활용]사용자의 과거 선호도를 바탕으로 아이템 추천 + 사용자가 이전에 상호작용한 아이템과 유사한 아이템 추천 [탐색]사용자가 이전에 고려하지 않았을 아이템 제안 [콘텐츠 기반 추천]추천되는 아이템 특성에 초점을 맞추어 사용자의 과거 상호작용을 기반으로 비슷한 콘텐츠 추천 [협업 필터링]사용자의 선호도와 행동을 활용하여 유사한 관심사, 취향을 가진 사용자 간 패턴을 식별하여 추천- 유사한 선호도를 가진 사용자를 찾고 그 사용자들이 좋아하는 사용자 기반 협업 필터..
쉽고 빠르게 익히는 실전 LLM - CHAPTER 5. 고급 프롬프트 엔지니어링 프롬프트 인젝션공격자가 LLM에 제공된 프롬프트를 조작하여 편향되거나 악의적인 결과를 생성하기 위해 사용하는 공격 유형- 짧은 프롬프트 사용 자제- 추측하기 어려운 독특하고 복잡한 프롬프트 구조 이용- 공격 패턴 가능성 필터링, 민감한 정보를 포함하는 답변 필터링- 프롬프트 정기적 업데이트 및 수정 입력 데이터 정제잠재적으로 해롭거나 위험한 내용(욕설, 개인 정보, 스팸, 인젝션 공격 키워드) 필터링- 유효성 검사 파이프라인을 만듦 배치 프롬프팅여러 개의 샘플을 하나의 프롬프트로 그룹화하여 LLM이 동시에 여러 답변을 생성하게 하는 것 > 추론 시간을 줄여줌 프롬프트 체이닝하나의 LLM 출력을 다른 LLM의 입력으로 사용해 여러 단계의 작업을 완료하는 것 프롬프트 스터핑사용자가 프롬프트에 너무 많은 정보..
쉽고 빠르게 익히는 실전 LLM - CHAPTER 4. 맞춤형 파인튜닝으로 LLM 최적화하기 파인튜닝 훈련을 위한 데이터 준비LLM의 언어 이해 능력을 특정 분야의 작업에 더 잘맞게 조정하는 파인튜닝을 통해 관련성이 높고 정확한 답변을 효율적으로 생성하기 위함[훈련셋]을 통해 데이터의 패턴과 관계를 학습하고 인식, [검증셋]을 통해 모델의 성능을 평가, [테스트셋]을 통해 모델의 능력이 새로운 데이터를 접해도 편향되어 있지 않은지 최종 평가[손실 함수]를 통해 모델 예측 값과 실제 목표 값 사이 차이를 정량화해 오차를 계산하고 이를 최소화해 더 나은 예측을 달성하는 지표 역할 파인튜닝 모델 훈련 전략목표를 위한 훈련, 검증, 테스트 데이터셋 수집 > 하이퍼파라미터 설정(모델 가중치 결정 + 단일 업데이트 훈련셋 사이즈 결정 + 훈련셋 반복 학습 수 설정)을 통한 과적합, 과소적합 문제 방지 > ..
쉽고 빠르게 익히는 실전 LLM - CHAPTER 3. 프롬프트 엔지니어링의 첫 번째 단계 프롬프트 엔지니어링 LLM기반 어플리케이션 구축 시, 사용자 경험을 향상시키기 위해 필요 정확하고 유용한 출력을 반환도록 유도하는 LLM에 대한 입력(프롬프트)를 만드는 것 정렬 모델이 사용자가 예상한 것과 일치하는 방식으로 입력 프롬프트를 이해하고 답변하는 것 프롬프트 엔지니어링 최적화 1. 직접 요청하기 2. 퓨샷 학습 3. 출력 구조화 4. 페르소나 지정 퓨샷 학습 LLM에 몇 가지 예제를 제공하여 정확하고 일관된 출력을 생성하도록 하는 것 문제의 맥락과 애매한 차이를 이해하는 데 도움을 줌 특정한 어조, 구문 또는 특정 도메인에 특화된 언어를 다룰 때 유용함 명시적인 지시를 제공하지 않고도 LLM에 작업 이해도를 제공하여 더 직관적이고 사용자 친화적인 환경을 만들 수 있음 > 챗봇, 언어 번역 도..
쉽고 빠르게 익히는 실전 LLM - CHAPTER 2. LLM을 이용한 의미 기반 검색 텍스트 임베딩 단어나 구문을 맥락적 의미를 기반으로 다차원 공간에서 기계가 읽을 수 있는 수치 벡터로 표현하는 방법 > 두 구문이 유사하다면, 구문들의 벡터들은 유클리드 거리가 가깝다 텍스트 임베더 단어 또는 구문을 받아 벡터로 변환, 텍스트를 벡터로 표현하는 품질을 결정하기 때문에 중요 > 클로즈드 소스인 OpenAI의 임베딩 엔진은 여러 가지 옵션을 제공, 한 번의 API 호출로 모두에 대한 임베딩을 생성할 수 있어 효율적임 > 오픈소스인 트랜스포머 라이브러리의 BERT를 이용한 Bi-encoder는 두 개의 BERT 모델(입력과 출력 텍스트 쌍)을 인코딩하여 각 사이의 의미적 관계를 포착함 벡터 다시 텍스트로 되돌릴 수 없지만, 인코딩된 상태에서 점수를 비교할 수 있는 텍스트의 새로운 표현법 의미 ..
쉽고 빠르게 익히는 실전 LLM - CHAPTER 1. LLM이란 LLM (대규모 언어 모델) 트랜스포머 아키텍처에서 파생된 AI 모델 사람의 언어, 코드 등을 이해하고 생성하기 위해 설계됨 의료 산업의 전자 의무 기록(EMR)처리, 임상시험 매칭, 신약 발견, 사기 탐지, 감정 분석, 트레이딩 전략 등에 사용 임베딩 텍스트를 기계가 읽을 수 있도록 변환 고차원 공간에서 단어, 구절, 또는 토큰의 수학적 표현 토큰화 텍스트를 가장 작은 이해 단위인 토큰으로 분해하는 과정 토큰들은 의미를 가진 정보 조각으로 어텐션 계산에 입력으로 사용됨 토큰 > 초기 임베딩 > 어텐션 계산 셀프 어텐션 시퀀스 내 각 단어가 다른 모든 단어에 '주의를 기울이게' 하여 단어 간 장거리 종속성과 문맥 관계를 포착 어텐션 이전에는 대부분의 신경망이 모든 입력을 동등하게 처리하고, 예측을 위해 ..
Logical Thinking - 테루야 하나코 한때 커뮤니케이션 능력에 관심이 많을 때 읽었던 책이었는데 다시 읽어보니 좋은 내용이 많았다. 책 내용을 다시 정리하고 포트폴리오를 만들때나 직장을 다니게 될 때 두고두고 읽어봐야겠다. Point 비즈니스상의 커뮤니케이션이란 상대방이 듣고 싶어하는 과제에 맞춰서 기대하는 반응을 고르고, 그에 맞는 답변을 제시하는 것이다. 기대하는 반응이란 상대가 제시한 과제에 대한 단순한 이해나 피드백, 구체적 방법을 의미한다. 또한 답변은 결론과 그것을 뒷받침하는 근거(사실, 판단)와 결론을 구체적으로 설명하는 방법(액션) 두 가지로 나뉜다. 근거의 경우 사실과 판단을 구분하여 설명해야 한다. 방법의 경우 보편적인 공리를 제시하는 것보다 구체적인 답변을 준비해야 한다. 논리적으로 상대방을 설득하기 위해서는 청자에게 불..
사용자를 생각하게 하지 마 - 스티브 크룩 책을 읽고 인상깊었던 글귀를 정리해보고자 한다. Point 편리하게 쓸 수 있는 사이트나 앱을 만들기 위해 해야 할 가장 중요한 일은 "사용자를 고민에 빠뜨리지 마라"이다. 물건을 사용하는 데 지장만 없다면 작동 방식을 이해하지 못한다 해도 아무런 문제가 없다. 그리고 이러한 현상은 지적인 능력이 부족해서라기보다 관심이 없어서 발생한다. 사용자에게 앱의 구조와 작동방식은 별로 중요하지 않다. 따라서 물건이 작동하기만 한다면 그 방식이 비효율적이라 하더라도 굳이 더 좋은 방법을 찾지 않는다. 그냥 계속해서 사용한다. 일부러 다른 것과 비교하고 찾아보는 일은 드물다. 디자이너들은 관례를 따르지 않고 새로운 방법을 재창조해야 한다는 유혹에 시달린다. 그러나 이를 재창조하는데 들인 시간에 비해 원점으로 되돌아오..