로컬 컴퓨터로 ‘딥시크 챗봇’ 만들어봤습니다
성능이 좋은 AI 언어 모델이 많지만, 대부분은 상용 서비스로 이용할 때 비용이 발생합니다. API 사용료는 부담이 아니지만, 심리적 장벽이 존재합니다. 예를 들어, AWS의 사용량 기반 비용 모델은 작은 실수로 예상치 못한 비용이 발생할 수 있습니다.
GPT-4o의 경우, 10줄의 입력값에 평균 30~50원의 비용이 발생하지만, 실제 서비스에선 더 많은 입력값으로 인해 비용이 증가합니다. Claude 3.7 Sonnet과 Anthropic의 o1, o1-pro는 더욱 비쌉니다. 상용 LLM은 개인 개발자나 소규모 프로젝트에 부담스럽습니다.
이로 인해 오픈소스 로컬 LLM의 수요가 증가하고 있습니다. 한국어를 지원하는 모델 찾기는 쉽지 않지만, 최근 성능 좋은 오픈소스 모델들이 등장하고 있습니다. 예를 들어, 마이크로소프트의 Phi-4 모델은 맥 미니에서 구동되며 한국어 답변이 가능합니다.
14B의 작은 몸집, 200B의 실력: 딥시크의 등장
딥시크(DeepSeek) 모델은 671B 대형 모델 외에도 14B 크기를 자랑하여 일반 게이밍 컴퓨터에서도 구동이 가능합니다. 이 모델은 저사양 환경에서도 뛰어난 성능을 발휘하며, 추론 모델로서 논리적 문제 해결에 강점을 가지고 있습니다.
미래의 모든 웹페이지는 챗봇으로 대체될지도 모릅니다
LLM은 단순한 챗봇을 넘어 웹의 UI를 혁신할 수 있습니다. 챗봇 인터페이스는 복잡한 웹 탐색을 간소화하며, 개인 AI 비서가 존재하는 미래를 상상케 합니다.
딥시크를 활용한 경험과 챗봇 구현 과정에서 마주한 문제와 고민을 공유하려 합니다. 제 기대와 한계, LLM 활용을 위한 구현 방법을 담았습니다.
게이밍 컴퓨터에서 딥시크 사용하기
회사에서 제공하는 딥시크 모델을 개인 로컬에서 호스팅해 사용해볼 수 있습니다. Ollama 도구를 사용하면 쉽게 설치하고 실행할 수 있습니다. Windows 사용자도 간편한 설치가 가능합니다.
딥시크 R1 14B 모델은 RTX 3070 그래픽카드에서 원활히 작동하며, 다양한 LLM 모델 호출 구조를 통일하는 것이 유리합니다.
LLM은 아무것도 기억하지 않는다
LLM은 대화를 기억하지 않기에, 대화 기록 관리 코드가 필요합니다. 대화 session의 흐름을 유지하기 위해 대화 기록을 함께 전송하여야 합니다.
대화 맥락 관리하기: 슬라이딩 윈도우 기법
LLM의 컨텍스트 창 한계로 인해, 슬라이딩 윈도우 기법을 통해 최근 대화만 포함시키는 방법이 필요합니다.
효과적인 시스템 프롬프트 작성하기
시스템 프롬프트는 LLM에 맥락 정보를 제공하고, 사용자가 명시적으로 모든 것을 설명하지 않아도 올바르게 이해할 수 있도록 돕습니다. 다만, 언어 선택에 따라 성능 차이가 발생할 수 있습니다.
스트리밍 UI로 챗봇 사용성 높이기
스트리밍 UI를 활용하면 메시지가 생성되는 대로 사용자에게 보여줄 수 있어, 대기 시간을 단축시킵니다. 이는 챗봇의 사용자 경험을 향상시키는 중요한 요소입니다.
최적의 솔루션: 동적 스케줄링 시스템
동적 스케줄링 시스템을 구축하여 청크 도착 패턴을 분석하고 최적의 출력 전략을 결정합니다. 이를 통해 사용자에게 부드러운 경험을 제공합니다.
이 최적화가 왜 필요할까?
스트리밍 UI는 디테일이지만 사용자의 전체 경험을 크게 변경할 수 있습니다. 모델 성능도 중요하지만, 사용자의 인터페이스 만족도를 높이는 것이 중요합니다.
나만의 로컬 챗봇, 한번 만들어보세요
딥시크 R1 14B 모델 등 오픈소스 LLM의 발전으로 개발자들이 로컬에서 챗봇을 구현할 수 있는 기회가 많이 열렸습니다. 앞으로 더 다양한 모델이 등장할 것으로 기대되며, 쉽게 접근할 수 있는 도구를 사용하시길 바랍니다.
해당 기사는 GPT를 이용하여 요약한 내용입니다.