목록분류 전체보기 (25)
나름개발블로그
정신없이 지나다가 정리하는게 늦어 졌다. 간단하게 랭체인을 챗봇을 만들어보려고 한다. 튜토리얼에 있는 내용을 직접해보면서 내가 느낀점을 정리한다. llm 은 간단하게 ollama를 이용해 llama3 7b를 이용 하겠다. 다른 llm api를 이용해서 사용해도 무관 하다.아래 예제는 기존 대화를 심플하게 넣어줘서 응답을 받는 형식의 예제다.from langchain_community.llms import Ollamafrom langchain_core.messages import HumanMessagefrom langchain_core.messages import AIMessagellm = Ollama(temperature=0, model="llama3")response = llm.invoke( [ ..
오늘은 간단하게 RAG를 구성해 볼 예정이다. 여기에 나온 소스를 조금만 응용하면 다양한 것들을 만들 수 있다. 물론 llm 성능이 중요하긴 하지만 말이다.RAG(Retrieval-Augmented Generation)는 대규모 언어 모델의 출력을 최적화하여 응답을 생성하기 전에 학습 데이터 소스 외부의 신뢰할 수 있는 지식 베이스를 참조하도록 하는 프로세스입니다. 대규모 언어 모델(LLM)은 방대한 양의 데이터를 기반으로 학습되며 수십억 개의 매개 변수를 사용하여 질문에 대한 답변, 언어 번역, 문장 완성과 같은 작업에 대한 독창적인 결과를 생성합니다. RAG는 이미 강력한 LLM의 기능을 특정 도메인이나 조직의 내부 지식 기반으로 확장하므로 모델을 다시 교육할 필요가 없습니다. 이는 LLM 결과를 개..

오늘은 간단하게 로컬에서 llm을 돌려보는 것을 해볼 예정이다. 잘모르는 초보 개발자를 대상으로 생각하고 진행 할예정이다. 사실 쓰다보면서 대상을 누구로 하냐에 따라서 난이도가 확 달라질것 같았다. 아에 개발이나 컴퓨터를 모르지 않는 대상이 봤으면 괜찮겠다 싶었다. 1. LM Studio 2. Ollama 1. LM Studio https://lmstudio.ai/?utm_source=pytorchkr 👾 LM Studio - Discover and run local LLMsFind, download, and experiment with local LLMslmstudio.ai여기에서 LM Studio 를 다운받는다. 각자의 환경에 맞는 버전을 다운 받는다. 나 같은 경우에는 m1 맥북을 사용 하고 ..

ML에서 자주 나오는 임베딩이 뭔지 정리를 하는 시간을 가져가려고 한다. 1. 임베딩이란? ML에서 말하는 임베딩은 쉽게 설명하면 '단어' , '문장' 등을 컴퓨터가 알기 편하게 숫자 벡터로 표현한 것이다. 아주 간단한 예를 들어보면 보면 사과는 [1,0,0] , 배 [ 0,1,0] , 오렌지 [0,0,1] 을 이런식으로 1차원 벡터로 표현 한 것을 임베딩 했다라고 말 할 수 있다. 고차원의 데이터를 저차원으로 표현하는 기법으로, 자연어 처리, 이미지 처리, 추천 시스템 등 다양한 분야에서 활용된다. 변환한 벡터 값에 의미와 정보를 손실없이 변환 하는게 좋은 임베딩이라고 할 수 있다. 다양한 내용을 벡터로 변환하면 사이에 관계를 쉽게 찾아 낼 수 있다. 컴퓨터 비전 모델, AI 챗봇, AI 추천 시스템..

처음에는 간단하게 설치하고 실행해 보는 걸로 하겠다. Langchain 이란설치 실행 1. LangChain 이란 랭체인(LangChain)은 llm을 사용하여 애플리케이션 생성을 단순화하도록 설계된 프레임워크이다. 쉽게 llm을 이용해서 애플리케이션 제작, 테스트등을 할 수 있도록 도와준다. 랭체인에서 vectordb , embedding 단어들이 자주 등장한다. 임베딩이란 단어 ,문장등을 기계가 이해할 수 있도록 숫자 벡터로 표현한 것이다. 이러한 임베딩을 저장하고 있는 DB가 벡터 db이다. 자세한 설명은 추후에 블로그로 정리를 하도록 하겠다. 아마 렝체인을 들어본 사람들은 RAG 또한 많이 들어봤을 것이다. RAG(Retrieval-Augmented Generation)는 대규모 언어..
LLM 이란 Large Language Modle로 언어 모델중에서 파라미터의 개수가 많은 모델 을 뜻한다. 기본적으로 언어 모델이란 입력값을 기반으로 출력값을 통계적으로 답변하는 모델이다. 기술의 발전으로 인해서 거대한 언어 모델을 운영 개발 할 수 있게 되었고 현재 AI 분야에서 매우 핫한 곳이다. 특히 23년도에 open ai에서 발표한 chat gpt로 인해 대중에게 좀 더 다가왔고 현재는 많은 곳에서 llm을 이용한 비즈니스를 진행하고 있고 , 더 발전시키기 위해서 노력하고 있다. llm 을 개인이 직접 개발하는 것은 현실적으로 많은 어려움이 존재 한다. 일반적으로 학습하는데 많은 gpu 자원이 필요 할 뿐아니라 시간 , 데이터도 필요 하다. 그래서 기존에 공개된 모델을 이용해서 fine t..
C++ 최소/ 최대 공약수 언젠가 써먹을 거같아서 정리해봄 //Greatest Common Divisor int gcd(int a, int b) { while (a && b) { if (a >= b) a %= b; else b %= a; } return a + b; } // Least Common Multiple int lcm(int a, int b) { return (a / gcd(a, b)) * b; }

chapter 15 순한 뉴런과 순환층 메모리셀 타임스텝에 걸쳐서 어떤 상태를 보존하는 신경망의 구성 요소 간단히 셀이라고 부른다. 입력과 출력 시퀀스 시퀀스 투 시퀀스 시퀀스 투 벡터 벡터 투 시퀀스 인코더 디코더 RNN 훈련하기 BPTT backpropagation through time 시계열 예측하기 타임 스텝마다 하나 이상의 값을 가지면 시계열이라고 부른다 ? 타임 스텝마마나 하나의 데이터를 가진다 → 단변량 시계열(univariate time series) 여러값을 가진다→다변량 시계열(multivariate time series) 기준 성능 RNN 을 시작 하기 전에 기준 성능을 몇개 준비하는 게 좋다 각 시계열의 마지막 값을 그대로 예측 → 순진한 예측 ( navie forecasting)..