머신러닝 & 딥러닝/LLM 12

SDXL 및 Flux 모델에서 세부적인 요소 퀄리티 올리는 방법

1. 프롬프트 엔지니어링 (Prompt Engineering)Text-To-Image 모델의 생성 품질은 프롬프트의 정보 밀도와 디테일 수준에 크게 의존합니다. 악세사리 디테일을 강화하려면 다음과 같은 고도화된 프롬프트 설계 기법을 적용합니다디스크립터 확장 (Descriptor Expansion):물리적 특성과 시각적 질감에 대한 상세한 서술을 포함시킵니다.예: “a hand-forged platinum bracelet with interwoven Celtic patterns, intricate gemstone inlays, glistening under soft ambient lighting”스타일 및 질감의 명시적 정의 (Explicit Style and Texture Specification)고유한..

챗봇 시각화 솔루션 3종 Gradio, Streamlit, Dash

GradioGradio는 머신 러닝 모델 사용자 인터페이스를 만드는 데 사용되는 유용한 도구입니다. PyTorch 및 TensorFlow와 같은 여러 기계 학습 프레임워크와 완벽하게 호환되는 Python 패키지입니다. 또한 임의의 범 용 Python 스크립트를 중심으로 UI를 만드는 데 사용할 수도 있습니다.장점Gradio는 기계 학습 모델에 최적화된 몇 가지 사용자 지정 가능한 UI 구성 요소를 제공합니다. 예를 들 어, Gradio는 사용자에게 고도로 최적화된 사용하기 쉬운 드래그 앤 드롭 이미지 분류를 제공합니다.Gradio를 설정하는 것은 매우 쉽고 빠릅니다. pip를 통해 직접 설치할 수 있습니다.게다가, Gradio에서 인터페이스를 생성하려면 몇 줄의 코드만 있으면 됩니다.Gradio는 배포된..

[LLM] 챗봇 시각화 솔루션 3종 Gradio, Streamlit, Dash

Gradio Gradio는 머신 러닝 모델 사용자 인터페이스를 만드는 데 사용되는 유용한 도구입니다. PyTorch 및 TensorFlow와 같은 여러 기계 학습 프레임워크와 완벽하게 호환되는 Python 패키지입니다. 또한 임의의 범 용 Python 스크립트를 중심으로 UI를 만드는 데 사용할 수도 있습니다. 장점 Gradio는 기계 학습 모델에 최적화된 몇 가지 사용자 지정 가능한 UI 구성 요소를 제공합니다. 예를 들 어, Gradio는 사용자에게 고도로 최적화된 사용하기 쉬운 드래그 앤 드롭 이미지 분류를 제공합니다. Gradio를 설정하는 것은 매우 쉽고 빠릅니다. pip를 통해 직접 설치할 수 있습니다. 게다가, Gradio에서 인터페이스를 생성하려면 몇 줄의 코드만 있으면 됩니다. Gradi..

[LLM] 기업용 특화 LLM 생성 방법

들어가기에 앞서 아래의 포스트를 참고하여 작성하였습니다. 기업용 금융 특화 LLM 모델 만들기 (1)- 필요성과 RAG 개요 2022년에 OpenAI에서 chatGPT가 발표되고 다양한 서비스 회사에서 LLM을 결합한 여러 상품들을 출시를 하였습니다. 뿐만 아니라 llama2같은 오픈소스 LLM(Open source LLM)들과 LoRA(Low-Rank Adaptation)같은 효율적인 학습방법들 덕분에 자체 LLM을 학습하는 노력도 많아지고 있습니다. 다만, 기업들이 ChatGPT나 GPT-4, PALM2, Claude2, HyperClova X, LLAMA2 같이 범용으로 사용할 수 있는 Foundation model과 같이 막대한 자본을 투입하여 개발을 진행하는 것은 어려움이 많을 뿐더러 시간과 자..

[LLM]llama.cpp 실행방법

양자화 추론기로 많이 사용하는 llama.cpp를 사용하는 방법을 알아보도록 하겠습니다. 저는 여기서 Upstage에서 발표한 SOLAR-10.7B를 야놀자에서 파인튜닝한 yanolja/EEVE-Korean-10.8B-v1.0 모델을 사용해보겠습니다. llama.cpp 설치 처음에는 llama.cpp를 clone한 다음 파일을 실행을 시킵니다. $ git clone https://github.com/ggerganov/llama.cpp.git $ cd llama.cpp $ make LLAMA_OPENBLAS=1 make LLAMA_OPENBLAS=1 명령어는 llama.cpp 프로젝트를 빌드할 때 OpenBLAS 라이브러리를 사용하도록 설정합니다. 이렇게 설정함으로써, llama.cpp 내부에서 수행되는 ..

[LLM]LLM 파일 형식 GGML & GGUF이란?

현재 LLM에서 혁신적인 파일 형식이 등장하였는데 GGML과 GGUF를 소개하고자 합니다. GGML 개요 GGML은 기계학습 분야에서 중요한 역할을 하는 텐서 라이브러리입니다. 이는 크기가 큰 모델과 다양한 하드웨어 환경에서 높은 성능을 발휘합니다. 장점 GPT 모델용 파일 형식으로 처음 시도된 사례입니다. 하나의 파일로 모델을 쉽게 공유하는 것이 가능합니다. 다양한 사용자가 CPU에서도 GGML 파일 실행하는 것이 가능합니다. 단점 모델의 추가적인 정보를 입력하는 것이 어렵습니다. 새로운 기능 추가 시 기존 모델과의 호환 문제가 생깁니다. 사용자가 수동적으로 설정을 변경해야 하는 어려움이 있습니다. GGML 유형 GGML_TYPE_Q2_K - 16개의 블록을 포함하는 수퍼 블록의 "유형 1" 2비트 양..

[LLM]LangChain이란 무엇인가?

LangChain이란? 최근 다양한 기업들이 LLM 서비스를 어플리케이션과 통합을 하여 사용하는 추세입니다. 이러한 과정을 편리하게 하기 위하여 랭체인(LangChain)은 노출하여 대규모 언어 모델과 애플리케이션의 통합을 간소화하는 SDK입니다. 여기서 중요한 점은 오픈AI와 같은 공급업체가 제공하는 모델 API를 사용하든, 오픈소스 모델을 앱에 사용하든 LLM 기반 애플리케이션을 구축하기 위해서는 단순히 프롬프트를 보내는 것 뿐만 아니라 다양한 작업들이 존재합니다. 예를 들어, 매개변수 조정부터 프롬프트 보강, 응답 조정, LLM은 상태를 저장하지 않으므로 대화의 이전 메시지를 기억하지 못하기 때문에 맥락 정보가 새로운 대화에서 컨텍스트를 다시 가져오기 위해 영구적인 데이터 베이스를 사용해야 할수도 ..

Andrew Ng(앤드류 응) 프롬프트 엔지니어링 강의 요약(4)

확장 확장하는 것은 짧은 텍스트를 예를 들어 지시사항이나 주제 목록을 큰 언어 모델이 생성하도록 하는 긴 텍스트, 예를 들어 이메일이나 어떤 주제에 대한 에세이를 만드는 것입니다. 이것의 좋은 사용 예는, 브레인스토밍 파트너로 큰 언어 모델을 사용하는 경우입니다. 다만, 누군가가 이를 사용하여 대량의 스팸을 생성하는 경우같이 문제가 될 수 있는 사용 사례도 있을 수 있습니다. 그래서, 큰 언어 모델의 이런 기능을 사용할 때는 책임감 있게, 그리고 사람들에게 도움이 되는 방식으로만 사용해야합니다. # given the sentiment from the lesson on "inferring", # and the original customer message, customize the email sentime..

Andrew Ng(앤드류 응) 프롬프트 엔지니어링 강의 요약(3)

추론 이번 강의에서는 추론에 관한 것에 대해 이야기를 할 예정입니다. 모델이 텍스트를 입력으로 받아서 어떤 종류의 분석을 수행하는 이런 작업을 생각해봅니다. 이것은 라벨 추출, 이름 추출이 될 수 있고, 텍스트의 감정을 이해하는 것과 같은 것입니다. 감정을 추출하려면, 긍정적인지 부정적인지, 텍스트의 일부를, 전통적인 머신러닝 작업 흐름에서는 라벨 데이터 세트를 수집하고, 훈련시키고 모델을 배포하는 방법을 찾아야 하며 클라우드에서 추론을 해야 합니다. 그리고 감정 분석이나 이름 추출 등 각각의 작업에 대해서도, 별도의 모델을 훈련시키고 배포해야 합니다. 큰 언어 모델의 좋은 점 중 하나는 이러한 많은 작업들에 대해, 단순히 프롬프트를 작성하면 거의 즉시 결과를 생성하기 시작한다는 것입니다. lamp_re..