전체 글 77

[DL] RNN - Recurrent Neural Networks 이론 정리

0. RNN (Recurrent Neural Network) RNN(Recurrent Neural Network)은 시간적으로 순차적인 데이터를 처리할 수 있도록 설계된 인공신경망으로, 과거 정보를 현재의 계산에 활용할 수 있는 순환 구조를 가진 모델입니다. 시간에 따라 동일한 가중치를 공유하는 것이 특징이라고 할 수도 있습니다. 이러한 특징은 시계열 데이터, 자연어 처리(NLP), 음성 인식, 주가 예측 등 순서와 맥락이 중요한 데이터 처리에서 강점을 보입니다. 1. First-order System과 RNN의 유사성First-order system은 시스템 동역학(dynamics)을 기술할 때 사용되는 수학적 모델로, 시스템의 현재 상태가 이전 상태와 현재 입력에 의해 결정되는 구조를 가집니다. 주로..

DL 2024.12.10

[Voice] 실시간 STT 연구를 위한 선행 지식과 학습 로드맵 (feat. Whisper)

0. 개요"실시간 STT" Real time STT 또는 Streaming STT 라고도 불립니다. "[Voice] 실시간 STT 연구를 위한 선행 지식과 학습 로드맵" 에서는 지금까지 실시간 STT를 구현하기 위해 필요한 여러 선행 연구와 개념들을 순차적으로 정리하고자 합니다.1. OpenAI/Whisper 실시간 STT에 적합하지 않다.현재 ASR 분야에서 가장 성능이 뛰어나다고 알려진 모델은 OpenAI의 "Whisper"입니다.Whisper는 CNN과 트랜스포머를 결합한 구조를 가지고 있습니다. 이러한 구조를 가진 Whisper를 일반적으로 적용 가능한 모델로 훈련하기 위해 OpenAI는 다양한 환경과 녹음 설정, 화자, 언어를 포함한 680,000 시간 이상의 레이블 데이터를 수집했습니다. 이를..

DL/Voice 2024.12.03

Dockerfile 내용 기반 Docker Image Build.

0. Docker를 사용하는 이유도커 컨테이너를 통해 작업하는 가장 큰 장점은 애플리케이션의 실행 환경을 격리하고 일관성 있게 유지할 수 있다는 점입니다. Docker 환경에서 작업을 진행하면 다음과 같은 장점이 있습니다. 1. 실행 환경의 일관성컨테이너는 애플리케이션과 그 종속성을 패키지화하여 어떤 환경에서도 동일하게 동작하도록 보장합니다.→ "내 로컬에서는 잘 작동하지만 서버에서는 오류가 난다" 같은 문제를 방지.2. 격리된 환경 제공각 컨테이너는 독립적인 실행 환경을 제공하므로, 하나의 컨테이너에서 문제가 발생해도 다른 컨테이너나 호스트 시스템에 영향을 주지 않습니다.→ 동일한 호스트에서 서로 다른 애플리케이션(예: Python 3.9과 3.8)을 충돌 없이 실행 가능.3. 이동성(Mobility)..

개발/Docker 2024.11.27

Molmo 논문 리뷰 - Molmo and PixMo: Open Weights and Open Data for State-of-the-Art Multimodal Models

0. 서론LLM은 텍스트 뿐만 아니라 이미지에 대한 설명을 생성하고, 복잡한 시각적 질문에 정확하게 답하는 것과 같은 인상적인 멀티 모달 기능을 제공하고 있습니다. 그러나, 이러한 시각 언어 모델(VLM) 중 가장 성능이 좋은 모델은 모델 Weight, data, source code가 공개되지 않은채 독점 상태로 남아 있습니다. 그러나, VLM을 처음부터 구축하는 것은 매우 어려운 일이기 때문에 저자는 LLM에 대한 학문적 탐구를 촉진하기 위해 성능이 뛰어난 공개 멀티모달 모델을 개발하고 배포하고자 하였습니다. 이에 독자적으로 개발된 비전 인코더와 언어 모델을 결합해 훈련된 오픈 모델 Molmo를 공개했습니다.  Molmo는 다른 VLM들이 사용한 합성 데이터나 폐쇄적인 데이터에 의존하지 않고, 이미지..

DL/LLM 2024.09.27

Allen Institute - Molmo 오픈소스 멀티모달

allenai/Molmohttps://huggingface.co/allenai/Molmo-7B-O-0924 allenai/Molmo-7B-O-0924 · Hugging FaceMolmo 7B-O Molmo is a family of open vision-language models developed by the Allen Institute for AI. Molmo models are trained on PixMo, a dataset of 1 million, highly-curated image-text pairs. It has state-of-the-art performance among multimodal models withuggingface.co 앨런인공지능연구소(AI2)가 9월 25일에 오픈소스 ..

DL/LLM 2024.09.27

[Voice] Audio Processing Libraries (feat. 8bit convert to 16 bit)

0. 8bit convert to 16 bit8k 8bit PCM 음성 신호를 8k 16bit PCM으로 변환하는 것은 음성의 질을 높이는데 도움이 됩니다.또한, 8-bit 음성은 2^8 = 256단계로 소리를 표현하는 반면, 16-bit 음성은 2^16 = 65,536단계로 소리를 표현할 수 있습니다. 이 차이는 음성 신호의 더 작은 차이까지도 표현할 수 있게 해 주며, 더 풍부한 정보를 담은 음성을 제공합니다.  이러한 이유로 8k 8bit 음성을 8k 16bit로 변환하여 자주 사용하고 있습니다. 1. 변환 왜곡 하지만 여기서 라이브러리를 사용해 음성을 16bit로 변환하면 음성에 왜곡이 발생합니다.  int8과 int16가 표현할 수 있는 범위는 아래와 같습니다. int8 (8-bit intege..

DL/Voice 2024.09.25

[Voice] pyVoIP - Python으로 작성된 VoIP 라이브러리

0. pyVoIPpyVoIP는 순수 Python으로 작성된 VoIP(Voice over IP)/SIP(Session Initiation Protocol)/RTP(Real-time Transport Protocol) 라이브러리입니다. 음성 서비스를 개발하려고 하는 파이썬 개발자가 파이썬을 활용해 간단한 서비스를 만드는데 유용합니다.1. 특징 및 기능주요 특징 - 순수 Python 구현 : 외부 종속성 없이 순수 Python으로 구현되어 있어 설치와 사용이 간편합니다[2][4]. - 지원 코덱 : PCMA, PCMU- 독립적인 오디오 처리 : 특정 오디오 라이브러리에 의존하지 않아, pyaudio나 wave 등 선형 사운드 데이터를 처리할 수 있는 다양한 라이브러리와 함께 사용할 수 있습니다. 주요 기능 -..

DL/Voice 2024.09.20

[RAG] Document Loader 비교 (feat. PDF, Markdown 변환)

0. Document Loader (PDF)RAG를 하려면 수 많은 Raw Data들을 파싱해야 합니다.Raw Data들 중에서도 가장 범용적으로 사용되는 파일은 PDF이기 때문에, 이번 글에서는 PDF 파일에서 한글을 추출해내는 것이 중요합니다. 아래는 Aurtorag 팀에서 한글 여러 도메인의 pdf를 가지고 한글 텍스트 추출 실험을 진행한 순위표 입니다. 아래 표기된 숫자는 등수를 나타냅니다. (The lower, the better)  PDFMinerPDFPlumberPyPDFium2PyMuPDFPyPDF2Medical12345Law31135Finance12245Public11145Sum5571520 출처: AutoRAG Medium 블로그 1. 표가 있는 PDF 문서 PDF에서 텍스트를 추출하는..

RAG 2024.09.11

[RAG] Llama 3.1 프롬프트 형식

0. 프롬프트란?프롬프트는 사용자가 모델에 원하는 답을 이끌어내기 위해 작성하는 질문이나 명령문입니다.프롬프트를 어떻게 작성하느냐에 따라 LLM이 생성하는 답변이 달라지고, 정확도 역시 크게 차이납니다.1. Base RAG Prompt기본적으로 RAG 프로세스에 사용하는 프롬프트는 다음과 같습니다. 이를 통해 ChatGPT, Claude, Llama 등 다양한 LLM을 사용해 Question을 통해 Context를 검색하고 Context 내에서 Answer를 생성하는 RAG 프로세스로 유도할 수 있습니다.  rlm/rag-prompt You are an assistant for question-answering tasks. Use the following pieces of retrieved context..

RAG 2024.09.09

[RAG] Perplexity - AI 검색 엔진 리뷰 (feat. ChatGPT 차이점)

0. Perplexity?Perplexity는 실시간 웹 검색과 AI 기술을 결합한 대화형 검색 엔진 서비스의 이름입니다. Perplexity AI는 사용자의 질문에 대해 정확하고 최신의 정보를 제공하는 것을 목표로 합니다. 이 서비스는 다양한 AI 모델을 활용하여 검색 결과를 생성합니다.Pro 버전의 경우, 사용자가 선택할 수 있는 여러 고급 AI 모델을 제공합니다. 이 모델들은 다음과 같습니다:GPT-4oClaude-3.5 SonnetSonar LargeClaude 3 OpusSonal huge이러한 다양한 모델 중에서 사용자가 원하는 모델을 선택하여 검색을 수행할 수 있습니다. 각 모델은 고유한 특성과 성능을 가지고 있어, 사용자의 필요에 따라 적절한 모델을 선택할 수 있습니다. Perplexity..

RAG 2024.09.09