관련 PR: https://github.com/AiResearch2025/FigVarietyRAGChat/pull/1 feat: vector DB (query by variety / feature) by gitchannn · Pull Request #1 · AiResearch2025/FigVarietyRAGChat github.com 관련 레포: https://github.com/AiResearch2025/FigVarietyRAGChat/tree/pure-RAG GitHub - AiResearch2025/FigVarietyRAGChat: RAG 기반 희귀품종 무화과 챗봇 프로젝트RAG 기반 희귀품종 무화과 챗봇 프로젝트. Contribute to AiResearch2025/FigVarietyRAGChat..
분류 전체보기
🌏 인트로학부 시절, AI 개발 과정이 지나치게 복잡하고 비효율적이라는 점에서 불편함을 느꼈다. 이를 해결하기 위해 AI 개발 생산성 플랫폼 ‘AIGOYA’를 직접 기획·개발했다. AIGOYA에서는 사용자가 쉽게 AI 개발을 시작할 수 있도록, 모듈 단위의 코드 블록(프리셋모듈) 을 미리 만들어놔서 사용자가 Drag&Drop으로 가볍게 가져다 사용할 수 있는 기능을 제공했다. 베타 사용자의 테스트 기간이 오기까지 수천 개의 프리셋모듈을 만들던 당시 발생한 이슈에 대해 이번 포스팅에서는 정리해보려고 한다. 초기에는 AI 연구실 대학원생들이 직접 제작한 코드 모듈 우리 팀 사람들이 검토하고 제공할 수 있는 시스템을 만들었지만, 베타 사용자 유입 전까지 충분한 양을 확보하기에는 코드가 턱없이 부족하고 일정이..
🌏 AI 학습에 GPU를 사용하는 이유GPU(Graphics Processing Unit, 그래픽카드)는 원래 그래픽 렌더링을 빠르게 처리하기 위해 만들어진 장치로, 화면의 수많은 픽셀을 동시에 계산하는 병렬 연산에 특화되어 있습니다. CPU는 복잡한 제어와 논리를 수행하지만, 대량의 단순 연산에는 비효율적입니다. 딥러닝은 대규모 행렬 곱셈으로 구성되어 있고, GPU는 수천 개의 코어로 이런 병렬 연산을 한 번에 처리할 수 있어 학습 속도가 크게 향상됩니다. 2000년대 중반 NVIDIA가 GPU를 일반 연산에도 사용할 수 있게 하는 CUDA 기술을 공개하면서, GPU는 그래픽 전용이 아닌 범용 병렬 연산 장치로 진화했습니다. 그 결과 오늘날 대부분의 AI 모델 학습과 추론은 GPU 위에서 수행됩니다...
https://github.com/AiResearch2025/FigVarietyRAGChat GitHub - AiResearch2025/FigVarietyRAGChat: RAG 기반 희귀품종 무화과 챗봇 프로젝트RAG 기반 희귀품종 무화과 챗봇 프로젝트. Contribute to AiResearch2025/FigVarietyRAGChat development by creating an account on GitHub.github.com 🌏 sLLM이 왜 필요할까?✅ 인트로최근 몇 년간 인공지능은 LLM(Large Language Model) 덕분에 폭발적으로 발전했다.ChatGPT, Claude, Gemini와 같은 모델들이 대표적이다.이들은 방대한 데이터를 학습해 사람처럼 언어를 이해하고 문장을 생성..
🌏 프로젝트의 시작,,국내에서 유통되는 무화과의 대부분(무려 95% 이상)은 ‘도핀(Dauphin)’ 품종이다.도핀은 저장성과 유통성이 좋아 상업적으로는 효율적이지만, 식감이 단단하고 당도가 낮아 집에서 직접 키워 먹는 무화과의 풍미와는 거리가 있다. 그래서 최근에는 더 부드럽고 달콤한 품종을 직접 키워보려는 사람들이 많아졌고, 나 역시 ‘즐거운 무화과 생활’이라는 네이버 카페를 통해서 품종 무화과를 접했고 나뭇가지 하나일 뿐인 삽수부터 뿌리를 내리고, 열매를 맺는 과정까지를 즐기는 사람이당. 하지만 품종 이름이나 특징이 생소한 경우가 많다.키우면서 느낀 답답함은, 품종마다 삽목(나뭇가지에서 뿌리를 내리는 과정)에 걸리는 시간이나 뿌리가 난 직후에 식물의 예민도, 햇빛을 선호하는 정도, 물을 선호하는..
자연어 처리(NLP)나 시계열 데이터는 입력의 순서가 중요합니다.RNN, LSTM, Transformer는 이런 순차 데이터를 다루기 위해 만들어진 대표적인 구조들입니다.🌍 RNN (Recurrent Neural Network)이전 정보를 기억하면서 순서가 있는 데이터를 처리하는 신경망순차 데이터 처리를 위해 등장함 기호의미x(t)지금 단어의 벡터h(t-1)이전까지의 기억w(x), w(t)학습 가능한 가중치h(t)새로운 기억(은닉 상태)tanh활성화 함수 → 기억 압축 이전 시점까지의 기억과 현재의 입력을 합쳐서 지금까지의 문맥의 요약을 만든 것을 은닉 상태(hidden state)라고 합니다. 즉, 새로운 기억을 만들 때 이때까지의 문맥을 반영하기 때문에 일반적인 NN과 달리 인접한 직전 정보까지의 ..
🌍 AlexNet (2012)대규모 이미지 인식에서 CNN의 가능성을 처음으로 증명한 모델로지금의 CNN, YOLO, ResNet 등 모든 비전 모델의 출발점이 되었습니다.✅ 활성화 함수 ReLU 등장기존까지는 활성화 함수로 sigmoid, tanh와 같은 함수를 사용했는데, 이 함수들은 미분하면 0으로 수렴하기 때문에 층이 조금만 깊어도 기울기 소실이 심해, 층을 깊이 쌓을 수 없었습니다.RELU가 등장하면서 층을 깊게 쌓을 수 있게 되었습니다.RELU 함수는 결과값이 양수일 때는 미분 값이 그대로 1, 음수일 때는 0으로 기울기가 사라지지 않았습니다.물론 20층 정도까지는 가능하지만 50층 이상 쌓으면 결국 기울기 값이 작아지는 효과가 발생했습니다한 번이라도 입력이 음수여서 0으로 꺼지면, 그 뉴런..
🌍 퍼셉트론(Perceptron)딥러닝의 시작은 “하나의 뉴런을 수학적으로 흉내 낸 것”으로 이것을 퍼셉트론(Perceptron) 이라고 부릅니다.퍼셉트론은 입력을 받아 → 가중치를 곱하고 → 합친 뒤 → 결과를 출력하는 단순한 모델이에요.이 기본 단위가 여러 개 연결되면, 우리가 알고 있는 신경망(Neural Network) 이 됩니다.✅ Perceptron하나의 퍼셉트론은 아래와 같습니다.x : 입력 (예: 픽셀 값, 데이터 피처)W : 가중치 matrix (입력마다 중요도를 조절, 직접 정하는게 아니라 학습을 통해 자동으로 조절됨!!!)b : 바이어스 (기울기 조정용 상수)f(·) : 활성화 함수 (activation function, 예: sigmoid, ReLU 등)입력이 많을수록, 퍼셉트론이..
🌏 인트로Kafka와 같은 메시징 시스템에서는 메시지가 언제, 어떻게 소비되는지를 보장하는 수준이 중요합니다. (데이터베이스의 트랜잭션 격리 수준과 비슷한 포지션이랄까…?)네트워크 지연, 장애, 재시도 같은 상황에서 메시지가 유실되거나 중복 처리될 수 있기 때문에, 전송 보장 방식(Delivery Semantics)을 우리 서비스의 특성에 맞게 잘 설정해야 합니다.🌏 메시지 전송 방식먼저 간단하게나마 카프카가 어떻게 메세지를 애플리케이션으로부터 받는지에 대해 알아보겠습니다Kafka에서 “메시지 전송”= 사건(Event)이 애플리케이션에서 발생했을 때,애플리케이션 코드가 Kafka Producer API를 호출해서 Broker에 메시지를 보내는 것애플리케이션에서 사건 발생예: 주문 서비스에서 “주문 생..
🌏 인트로✅ Acknowledgement(acks)가 필요한 이유Kafka에서 메시지는 이렇게 흘러갑니다Producer → Broker(Leader) → Follower(Replication) → ConsumerBroker = 메시지를 직접 들고 있는 Kafka 서버 1대Producer가 메시지를 보내면 Broker가 Topic의 Partition에 저장합니다.Consumer는 Broker로부터 메세지를 가져가서 처리합니다여러 Broker가 모이면 Kafka Cluster가 되고, 여기서 Partition들을 서로 나눠서 저장하거나 복제(Leader/Follower)도 합니다.Producer (애플리케이션) 입장에서는 “내가 보낸 메시지가 진짜 카프카 서버(=브로커)에 안전하게 저장됐을까?”를 알고 싶..