대규모 언어 모델(LLM)은 일반적으로 단일 질의(“빠른 사고”)만으로 추론 결과를 생성하므로 복합적이고 반복적인 추론에는 한계가 있다. 최근 OpenAI-o1 같은 프로젝트에서 인간의 “느린 사고” 과정처럼 단계적이고 반복적으로 사고를 보강하는 방법론이 주목받고 있다. CoAT(Chain-of-Associated-Thoughts) 프레임워크는 이에 착안하여, 몬테카를로 트리 탐색(MCTS)과 연상 메모리(Associative Memory)라는 동적 외부 지식 보강 메커니즘을 결합했다. CoAT는 MCTS의 체계적 탐색 구조와 연상 메모리의 적응적 학습 능력을 융합하여 LLM의 추론 탐색 공간을 크게 확장한다. 각 단계에서 새로 유도된 핵심 정보를 실시간으로 반영함으로써, 과거의 추론을 재검토·수정하고 ..
SKT는 RAG 기술을 도입하여 고객 상담효율성을 극대화하고 상담사지원 도구인 AICC 어시스트를 업그레이드하는 프로젝트를 진행했다.이 프로젝트의 핵심은 도메인 지식 부족과 LM 할루시네이션 극복이라는 두 가지 도전 과제를 해결하는 것이었으며, 이를 위해 베테랑 상담사 피드백, 플레이그라운드 구축, 텔코 데이터 기반 파인 튜닝 임베딩개발, 쿼리 트랜스포머, 멀티 컬렉션 검색, 리랭킹, 컷오프 등 다양한 기술적 시도를 했다.최종적으로 텔코 LLM을 적용하여 답변 만족도를 높이고, 검색 품질과 LLM의 시너지 효과를 통해 고객 상담 서비스 품질을 향상시키는 결과를 얻었다.1. 발표 개요발표 주제는 고객 상담의 효율성을 높이는 RAG 기술이다.발표자는 김은희이며, SKT의 고객 센터에 RAG 기술을 도입한 경..
**SKT, AIfellowship 사전과제 준비용**최근 GPT-4와 PaLM, Claude, LLaMA 등과 같은 대형 생성 모델(LLM)은 범용적인 목적에 맞게, 매우 큰 모델 사이즈와 매우 방대한 양의 데이터로 사전 학습을 진행합니다. 이를 통해서 매우 다양한 도메인의 지식을 넓고 깊게 습득할 수 있게 되죠. 하지만, 사전 학습에서 사용하는 데이터에는 욕설이나 편향적 발언, 부정확한 정보를 담은 문서 등 부적절한 데이터도 다수 포함되어 있습니다. 물론 정제 및 필터링 과정을 통해 상당수의 부적절한 데이터를 학습 데이터에서 제거하지만, 사람이 봤을 때 적절하지 않은 데이터를 전부를 없애기는 어렵습니다. 그래서, 사전학습 모델은 문맥에 따라 욕설이 포함되거나 선정적인 문장, 자연스럽지 않고 이상한 문..
NC소프트에 근무하며, 거진 모든 기간을 할애한 프로젝트 방법론에 대한 논문 포스팅이다. 논문 링크: https://arxiv.org/abs/2201.11903 Chain-of-Thought Prompting Elicits Reasoning in Large Language ModelsWe explore how generating a chain of thought -- a series of intermediate reasoning steps -- significantly improves the ability of large language models to perform complex reasoning. In particular, we show how such reasoning abilities emerg..
청킹과 인덱싱정확한 검색을 위한 청킹 전략 (Chunking Strategy)AI가 글을 읽고 대답을 잘하려면, 글을 어떻게 잘게 나누는지가 정말 중요합니다. 왜냐하면 AI는 글을 한꺼번에 많이 읽지 못하기 때문이죠. 특히 한국어처럼 복잡한 글은 더 어렵습니다. 그래서 청킹이 필요합니다.하지만 그냥 무작정 나누면 안 됩니다. 청크(잘게 나눈 글 조각)가 충분히 많은 정보를 담고 있어야, AI가 질문에 정확히 답할 수 있어요. 예를 들어, 글의 중요한 부분만 포함되어야 하는데, 그렇지 않으면 대답이 엉뚱할 수 있겠죠? 정보의 밀집도가 높은 청크일수록 AI가 적절한 맥락을 이해하고 더 정확하게 응답할 수 있기 때문에, 청킹 과정에서 정보의 밀도와 연관성을 고려하는 것이 매우 중요합니다.청킹 전략의 레벨 : ..
RAG 구현을 위한 대표 기술 스택RAG의 인기가 높아지면서 이를 쉽게 구현하도록 도와주는 프레임워크와 도구들도 여럿 나와 있습니다. 몇 가지 주목할만한 것들을 살펴보겠습니다:LangChain: 파이썬 기반으로 LLM 응용을 체인으로 쉽게 엮을 수 있는 라이브러리입니다. 프롬프트 템플릿, 메모리, 벡터스토어 연동 등 RAG에 필요한 구성요소를 손쉽게 조합할 수 있게 해주죠. 예를 들어 LangChain으로 OpenAI ChatGPT 모델과 FAISS 벡터스토어를 묶어 질문-답변 체인을 만드는 코드는 몇 줄이면 충분합니다.python# LangChain을 활용한 간단한 RAG QA 예시from langchain.embeddings import OpenAIEmbeddingsfrom langchain.vect..
SK텔레콤의 AI활용 사례를 통해 고객 응대의 패러다임 변화를 이해할 수 있는 영상입니다. 고객 센터에서 콜봇과 챗봇의 효율적인 기능을 통해 상담사와 고객 간의 소통이 어떻게 개선되는지를 보여줍니다. 특히, AI 상담사 어시스턴트와 텔코 LLM의 적용으로 고객 응대의 정확성과 만족도가 크게 향상되었습니다. AI시스템은 고객의 다양한 질문에 대처할 수 있는 구조를 갖추고 있으며, 포스콜업무를 효율적으로 처리하는 데에도 큰 도움이 됩니다. 이러한 변화는 앞으로 고객 서비스가 어떻게 발전할지를 시사합니다.핵심 용어SK텔레콤: SK텔레콤은 대한민국의 대표 통신 회사로, 모바일 통신, 인터넷, 방송 및 다양한 디지털 서비스를 제공합니다. 이 회사는 많은 고객을 보유하고 있으며, 고객 응대와 서비스 ...1. 🤖..
카카오톡 대화 데이터를 활용해서, 페르소나를 입힌 챗봇을 만들어 보겠습니다.Kanana-nano-2.1B LoRA 파인튜닝 방식을 활용했기에 가상 환경 코랩 T4 구동 가능합니다.헤어진 연인에게 추천합니다. (독거노인말벗)Kanana-nano-2.1B LoRA 파인튜닝 Colab 노트북개요: Kakao의 Kanana-nano-2.1b-instruct 모델을 Google Colab (T4 GPU)에서 LoRA 방식으로 파인튜닝하고, 튜닝된 모델로 대화(chat)할 수 있는 전체 파이프라인을 제공합니다. 데이터셋은 | 구분자로 왼쪽이 사용자 발화, 오른쪽이 페르소나(모델) 응답으로 구성되어 있으며, 한 줄이 하나의 대화 턴입니다. 이 코드는 해당 데이터셋을 전처리하여 모델을 사용자 입력 -> 페르소나 응답 ..
텍스트 데이터를 효과적으로 활용하기 위해서는 텍스트 임베딩과 벡터 데이터베이스(Vector DB)를 결합한 RAG (Retrieval-Augmented Generation) 시스템이 주목받고 있습니다. 임베딩은 텍스트를 수치 벡터로 변환하여 기계가 이해할 수 있는 형태로 만들고, 벡터DB는 이렇게 생성된 벡터들을 저장하고 유사한 벡터를 빠르게 검색할 수 있게 해줍니다. 텍스트 임베딩의 개념과 최신 동향부터 벡터DB 기술 비교, 최신 연구 논문, 그리고 RAG 시스템에서 임베딩과 벡터DB를 활용하는 방법까지 정리했습니다. 1. 텍스트 임베딩: 개념과 최신 기술 동향텍스트 임베딩이란? 텍스트 임베딩(text embedding)은 문장이나 단어를 다차원 벡터 공간의 한 점으로 표현하는 것입니다 쉽게 말해, 텍..
0. Abstract사전학습을 시킨 Large Language Model (LLM) 들은 특정 과제에 특화된 few-shot learning을 통해서 쓰이고 있습니다.특히, Chain of Thought Prompting (CoT) 기술은 arithmetic reasoning과 symbolic reasoning 양쪽 모두에서 SOTA를 달성한 바 있습니다.또한 CoT Prompting을 이용하면 이전까지 잘 해결하지 못했던 system-2 task, 그러니까 위와 같은 초등학교 수준의 계산 문제의 답을 추론하는 문제들도 해결할 수 있었습니다.이는 대부분 few-shot learning의 성과로 여겨졌지만, 본 논문에서는 프롬프트에 "Let’s think step by step"이라는 문장을 추가하기만 해..
1. 모델에 학습 데이터를 한 번에 학습시키면 안 되는가?데이터를 한 번에 학습시키는 것은 메모리 한계, 일반화 문제, 최적화 어려움 등의 이유로 비효율적임.(1) 메모리 한계대규모 데이터셋을 한 번에 모델에 입력하면 GPU/CPU 메모리를 초과할 가능성이 높음.특히 딥러닝에서는 행렬 연산을 수행하는 과정에서 메모리 사용량이 급격히 증가하기 때문에, 한 번에 모든 데이터를 처리하는 것은 현실적으로 어려움.(2) 일반화 문제 (Overfitting)한 번에 학습하면 모델이 데이터셋 전체를 외워버리는 과적합(overfitting) 문제가 발생할 가능성이 높음.모델이 특정 데이터셋에만 최적화되면 새로운 데이터를 만났을 때 성능이 저하됨.(3) 최적화 어려움경사하강법(Gradient Descent)에서 한 번에..