전체 글54 LLM 적용 방식 : RAG와 PEFT 개요우리가 LLM하면 떠오르는 ChatGPT, Llama, Claude 등의 모델들은 지구, 웹에서 생성된 거의 대부분의 텍스트 데이터를 긁어모아서 학습시켰다고 볼 수 있다. 지구상의 존재하는 거의 대부분의 텍스트를 읽어가면서 인간의 "언어"라는 개념을 자신들만의 차원 형태로 이해한 것이다. 서비스 적용의 어려움 그렇다면 이렇게 똑똑한 모델을 우리 서비스에 바로 적용할 수 있을까? 그렇지 않다. 일반적으로 텍스트를 학습하면서 모델은 각자의 도서관(dimension)을 갖추었다고 볼 수 있는데 이 도서관에 있는 책들을 하나씩 이용해서 문장을 생성한다. 한번에 문장을 생성하기 보다는 autoregressive하게 단어 하나하나씩 생성하는 과정에서 높은 확률을 가진 단어를 추출하는 형태로 모델이 돌아간.. 2024. 5. 31. Object Detection 모델 개념 정리 Object Detection 문제와 Classification 문제의 차이 일반적인 image classification은 단순 분류만 잘 하면 되기 때문에 이미지 속 객체가 어디에 있는지에 대해서 모델이 구체적으로 학습할 필요가 없었다. 단순히 픽셀 분포랑 정답만 알려주면 실제 그 과정은 모델이 알아서 학습하기 때문이다. 그렇지만 Object Detection은 이미지 속에 배경과 실제 객체를 구분할 수 있어야 하고, 그 실제 객체가 이미지 상에서 어디에 위치했는지(Localization) 알아야하며, 그 위치한 객체가 무슨 이미지인지 분류(Classification)해야한다. 즉 모델이 학습해야하는 케이스가 총 2개인 것이다. 접근 방식의 차이 위에서 설명한 이 2가지를 각각 다른 솔루션으로 접근하.. 2024. 2. 1. 랭체인 튜토리얼 랭체인 문서를 보면서 튜토리얼을 따라해보았다. GPT store가 있기 때문에 이것이 왜 필요한지 실제 사용해보면서 느낀 점과 좋은 점들을 정리해보았다. 코드 정리는 여기보다는 아래 colab 링크를 걸어두었습니다. 정의 LLM은 일반적인 상황에서 프롬프트에 응답하는 데 탁월하지만, 훈련한 적이 없는 특정 영역에서는 성능이 떨어진다. 또한 이런 프롬프트를 실제 프로덕션에서 사용하는 것은 다른 이야기다. 사람들이 ChatGPT를 이용하는 과정에서는 틀릴 수도 있다는 생각을 가지지만 실제 특정 앱을 이용할 때는 이를 예상하지 못하기 때문이다. LLM을 제품으로 만들기 위해서는 결국 퀄리티를 유지하기 위한 다양한 작업들이 필요합니다. LangChain은 이러한 데이터 응답 애플리케이션을 개발하기 위한 중간 단.. 2024. 1. 31. [book] 머신러닝 디자인 패턴 1. 데이터 표현 디자인 패턴 한동안 기초적인 코드부터 논문 속 코드를 일부 재현하면서 공부를 해왔다. 아마 이제는 좀 더 실질적으로 모델을 만들어보고 제품을 만들어보는 작업을 하게 될텐데 지금까지 배운 기초적인 부분들도 체계화하고 학습을 위한 코드와 실무에서의 코드가 어떻게 다른지 이책을 통해 체험해보고자 선택하게 되었다. 실제로 이 책의 저자는 GCP(구글 클라우드 플랫폼)에서 일한 덕분에 다양한 케이스들을 다룰 수 있었다. 디자인 패턴과 문제 1. 디자인 패턴이란? 실제 개발 환경에서 반복적으로 발생하는 문제들이 있는데 이 원인을 사전적으로 예방할 수 있는 프로그래밍 패턴을 디자인 패턴이라고 한다. 머신러닝에서의 디자인 패턴이라 함은, 결국 머신러닝 시스템을 구축하는 프로세스에서 발생하는 문제를 예방할 수 있는 패턴들을 의미한.. 2024. 1. 8. 만들면서 배우는 생성 AI 13장 - 멀티모달 모델 멀티모달 학습이란 두 종류의 데이터 사이를 변환하도록 생성 모델을 훈련시키는 학습이다. 여기서 두 종류의 데이터란, 이미지/텍스트/비디오 등을 의미한다. Dall-E 2 이 모델은 텍스트 투 이미지 생성용으로 만든 모델이며 2022년 4월에 출시된 버전이다. 구조 : 입력 프롬프트 -> 텍스트 인코더 -> 텍스트 임베딩 -> 프라이어 -> 이미지 임베딩 -> 디코더 -> 이미지 생성 주요하게 볼 부분은 텍스트 인코더, 프라이어, 디코더 세가지이다. 1. 텍스트 인코더 역할 텍스트 프롬프트를 임베딩 벡터로 변환시키는 역할을 하며, 잠재 공간 내에서 텍스트 프롬프트의 개념적 의미를 나타낸다. 이 모델에서는 CLIP이라는 모델을 사용한다. CLIP 모델 자연어 감독으로부터 시각적 개념을 효율적으로 학습하는 신.. 2024. 1. 3. [파이토치] 7. Hydra with lightning 배경 1. 필요성 컴퓨터 프로그래밍과 동일하게 모델도 역시 코드로 동작한다. 따라서 주로 변경되는 변수들이나 환경설정들을 관리하는 부분에 대한 어려움이 있다. 특히 실험할때마다 바뀌는 파라미터와 하이퍼파라미터는 코드 내부에 직접 작성하기보다는 한번에 변경하면 모델이 변경된 채로 적용되는 것이 가장 바람직하다. 이러한 기능을 지원해주는 것이 Hydra이다. 2. yaml 특징 목적 자체는 파라미터에 해당하는 값을 전달해주기 위함이므로, hydra에서는 key-value 형태로 값을 전달한다. 이를 전달하기 위한 데이터 포맷으로 yaml을 사용하는데 이는 아래와 같은 특성을 가진다. hydra를 사용하려면 우선 config라는 이름의 yaml 파일을 생성해야한다. 1) key-value 구성으로 작성된 파일.. 2024. 1. 3. 이전 1 2 3 4 ··· 9 다음