AI 25

[LLM] LangChain 의 유용한 기능들

StreamingLangChain의 Streaming 기능은 대형 언어 모델(LLM)이 생성하는 응답을 한 번에 모두 출력하는 것이 아니라, 부분적으로 실시간 출력하는 기능을 의미합니다.즉, 사용자가 기다리지 않고, 모델이 생성하는 즉시 응답을 스트리밍(흐름) 방식으로 받아볼 수 있도록 합니다from langchain_openai import ChatOpenAIchat = ChatOpenAI(model_name="gpt-4o-mini")#chat.invoke("고양이에 대한 시를 써줘.") # 평소에 완성된 대답을 받던 함수 (invoke)for chunk in chat.stream("고양이에 대한 시를 써줘.") : print(chunk.content, end="", flush=True) 더보기imp..

AI/LLM 2025.02.28

[LLM] RAG

RAG 란?RAG 은 정보 검색과 생성 모델을 결합하여, 더 정확하고 풍부한 답변을 제공하는 AI 모델의 접근 방식입니다.이 방식은 정보 검색(retrieval)과 텍스트 생성(generation)을 결합하여,사용자가 질문할 때 모델이 외부의 문서나 데이터베이스에서 필요한 정보를 검색하고,그 정보를 바탕으로 자연스러운 텍스트를 생성하는 방식입니다. RAG 는 주로 기존의 생성형 모델들이 가지는 정보의 제한성을 해결하기 위해 만들어졌습니다.GPT같은 모델은 훈련 데이터에 포함된 정보만을 기반으로 답변을 생성하기 때문에그 이후에 발생한 정보나 훈련에 포함되지 않은 특정 세부 정보에 대해서는 잘못된 답변을 할 수 있습니다.RAG 동작방식문서 로딩문서로는 JSON, 이미지, 텍스트, CSV, PDF 등 다양한 ..

AI/LLM 2025.02.27

[LLM] LangChain (prompttemplate 과 LCEL)

LangChain 이란?랭체인(LangChain)은 대형 언어 모델(LLM)을 더 효과적으로 활용할 수 있도록 도와주는 프레임워크 이다단순히 LLM에 프롬프트를 입력하고 답변을 받는 방식에서 벗어나, 데이터 검색, 메모리 저장, API 연동, 체인(Chain) 구성 등을 가능하게 해 준다.랭체인의 기본요소프롬프트LLM랭체인의 기본은 LLM 에 프롬프트를 넣어주는 것이다써보면서 익히는게 빠르니 바로해보자 먼저 라이브러리 설치와 환경설정부터 한다pip install langchain-openaiimport osimport getpassos.environ["OPENAI_API_KEY"] = getpass.getpass("OpenAI API Key:")from langchain_openai import Chat..

AI/LLM 2025.02.19

[DL] 어텐션 (Attention)

어텐션(Attention)어텐션 메커니즘은 신경망이 입력 데이터의 특정 부분에 집중하도록 도와주는 기법이다.원래는 머신 번역에서 등장했지만, 지금은 자연어 처리(NLP)뿐만 아니라 컴퓨터 비전 등 다양한 분야에서 사용된다.어텐션의 주요 원리 쿼리(Query), 키(Key), 밸류(Value)입력 단어들은 각각 Key(K), Value(V), Query(Q)로 변환Query는 현재 출력 단어를 예측할 때 "어떤 입력을 참고해야 할까?"를 결정하는 요소Key는 입력 단어들의 특징을 나타내고, Query와 비교해서 연관성을 계산.Value는 최종적으로 참고할 입력 데이터어텐션 가중치 계산Query와 Key의 유사도를 계산해서 어텐션 가중치를 만든 후, Softmax를 적용해 확률 값으로 변환가중치가 높은 입력..

AI/DL 2025.02.16

[DL] 신경망 (ANN, DNN, RNN, CNN)

지난 두 포스팅 신경망의 기본원리 와 신경망의 동작원리 를  보고오면 이해가 더 빠릅니다. 우리는 신경망에대해 어느정도 이해도가 생겼다고 생각한다. 퍼셉트론이 어떤 한계점을 갖고있었으며 이를 해결하기위해 다층 퍼셉트론(MLP)이 탄생했고 이것이 딥러닝 시대의 시작 을 열었다. 우리가 기본으로 배운 신경망 (Neural Network)은 인간의 사고를 흉내내기 위함이라 뉴런을 퍼셉트론으로 모델링하면서생물학적 신경망을 모방한것이라 인공 신경망(Artificial Neural Network, ANN) 이라 부르며 거의 같다고 보면된다.ANN (Artificial Neural Network) -> 인공 신경망입력층(Input Layer)은닉층(Hidden Layer)출력층(Output Layer) 으로 구성 되..

AI/DL 2025.02.12

[DL] 신경망의 동작원리

저번 포스팅에 이어 신경망의 동작원리를 알아보고자 한다. 만약에 신경망에 관한 기본개념이 없으면 신경망의 기본원리 를 보고오는걸 추천한다.신경망( Neural Network ) 의 동작원리신경망의 학습 과정은 퍼셉트론과 비슷하지만, 더 발전된 방법을 사용해한다.순전파 (Forward Propagation)입력 데이터가 입력층 → 은닉층 → 출력층 방향으로 전달됨.각 뉴런에서 가중합을 구하고 활성화 함수를 적용해 다음 층으로 전달.손실 계산 (Loss Calculation)신경망의 예측값과 실제값을 비교해 오차(Loss)를 계산.예: 이진 분류는 Binary Cross Entropy, 회귀 문제는 MSE(Mean Squared Error) 사용.역전파 (Backpropagation) + 경사 하강법 (Gr..

AI/DL 2025.02.06

[DL] 신경망의 기본원리

저번 포스팅에서 아래와 같은 용어를 들어봤을 것이다. 합성곱 신경망(CNN, Convolutional Neural Network)순환 신경망(RNN, Recurrent Neural Network) 이러한 신경망들이 하나의 딥러닝 모델이 되는것인데 신경망은 어떻게 이루어져있나 살펴보자.신경망의 구조신경망은 입력층(Input Layer), 은닉층(Hidden Layer), 출력층(Output Layer) 으로 구성된다.입력층 (Input Layer)데이터가 처음 들어오는 층.각각의 뉴런(퍼셉트론)이 하나의 입력 데이터를 받음.예를 들어, 손글씨 숫자 인식(28×28 픽셀)이라면 784개의 입력 뉴런이 필요하다.은닉층 (Hidden Layer)입력층과 출력층 사이에서 복잡한 패턴을 학습하는 층.단순 퍼셉트론과..

AI/DL 2025.01.24

[DL] 딥러닝이란?

딥러닝이란? 딥러닝(Deep Learning)은 인공지능(AI)과 머신러닝(ML)의 한 분야로, 인공신경망(Artificial Neural Networks, ANN)을 기반으로 한 학습 방법이다.인간의 뇌처럼 다층 구조를 가진 신경망을 활용해서 데이터에서 패턴을 학습하고 예측하는 기술이다.딥러닝의 기본 개념딥러닝은 인공신경망(ANN) 을 기반으로 한 기계 학습의 한 분야 이다.다층 신경망을 사용하여 데이터로부터 특징을 자동으로 학습하고, 이를 통해 복잡한 문제를 해결한다.입력데이터에서 중요한 패턴을 추출하고, 이를 바탕으로 예측, 분류, 생성 등의 다양한 작업을 수행한다. 딥러닝의 특징비선형 추론 : 딥러닝은 비선형 추론을 통해 복잡한 데이터의 패턴을 학습할 수 있다.다층구조 : 여러 층의 신경망을 사용..

AI/DL 2025.01.09

[ML] 앙상블 학습 - XGBoost

XGBoost 란?XGBoost (Extreme Gradient Boosting)는 그래디언트 부스팅(Gradient Boosting) 알고리즘의 고급 구현체로,매우 빠르고 효율적이며 강력한 성능을 자랑하는 머신러닝 모델입니다.XGBoost는 대규모 데이터셋과 높은 정확도를 요구하는 문제에서 뛰어난 성능을 보여주며,여러 머신러닝 대회에서 널리 사용됩니다.XGBoost의 주요 특징:그래디언트 부스팅 알고리즘:XGBoost는 그래디언트 부스팅 알고리즘을 기반으로 하며, 모델을 여러 개의 결정 트리를 결합하여 점진적으로 예측 성능을 향상시킵니다. 각 트리는 이전 모델의 예측 오류를 보정하는 방식으로 훈련됩니다.병렬 처리:XGBoost는 트리 학습의 병렬화(parallelization)를 통해 속도를 크게 개선..

AI/ML 2024.12.29

[ML] 앙상블 학습 - 그래디언트 부스팅 머신 (GBM)

GBM 이란?GBM 은 부스팅(Boosting) 기법을 사용하는 앙상블 학습 알고리즘으로, 약한 학습기(weak learner)인 결정 트리(Decision Tree)를 반복적으로 학습하여 강한 학습기(strong learner)를 만들어 가는 방식입니다. 그래디언트 부스팅은 이전 모델이 잘못 예측한 부분을 다음 모델이 개선하도록 훈련하여, 모델의 성능을 점진적으로 향상시킵니다.그래디언트 부스팅의 기본 원리:약한 학습기 결합:그래디언트 부스팅은 일반적으로 결정 트리와 같은 약한 학습기를 사용합니다. 이 모델은 각 학습 단계에서 잘못 예측된 부분을 보완하며 점차 성능을 향상시킵니다.순차적 학습:그래디언트 부스팅은 이전 모델의 예측 오류(residual)를 학습하는 방식으로 작동합니다. 즉, 첫 번째 모델이..

AI/ML 2024.12.29