Deep Learning 31

🚫 n8n을 인트라넷 전용으로 만들기 (인터넷 차단하기)

회사 내부에서 n8n을 쓰다 보면 “혹시 n8n에서 인터넷으로 데이터가 빠져나가면 어떡하지?” 하는 걱정이 생깁니다.저희도 똑같은 고민을 했고, 결국 n8n은 인트라넷만 쓰고, 인터넷은 절대 못 쓰게 만드는 방법을 찾았습니다.아래처럼 하면 됩니다. ✨1. 준비n8n은 Docker + docker-compose로 돌리고 있다고 가정합니다.서버는 회사 내부망에 연결돼 있습니다.※ 여기서는 예시로 192.168.100.0/24 대역을 사용합니다. 👉 실제 적용 시에는 각자 회사 내부망 대역에 맞춰 수정하세요.2. 방화벽 규칙 세팅 (진짜 핵심)리눅스 서버에서 아래 명령어를 실행합니다.(관리자 권한 필요 → sudo su 하거나 각 줄마다 sudo 붙이기) # (1) DOCKER-USER 체인을 싹 비웁니다...

Deep Learning/NLP 2025.09.25

🔥 BM25란 무엇인가? (TF-IDF와의 비교 및 이후 발전)

1. 왜 TF-IDF만으로는 부족할까?검색 시스템이나 정보 검색(IR) 분야에서는 문서 내 특정 단어가 얼마나 중요한지를 판단해야 합니다.가장 널리 알려진 기법이 바로 TF-IDF입니다.하지만 TF-IDF만으로는 한계가 있습니다:단어가 너무 자주 등장하면 점수가 비정상적으로 커지는 문제문서 길이를 고려하지 않아서, 긴 문서가 무조건 유리해지는 문제이러한 문제를 해결하기 위해 등장한 것이 바로 BM25입니다. 2. TF-IDF란? (개념과 수식)✅ Term Frequency (TF)한 문서에서 특정 단어가 얼마나 자주 등장하는지를 나타냅니다.TF(t, d) = (문서 d에서 단어 t가 등장한 횟수) ÷ (문서 d의 전체 단어 수)✅ Inverse Document Frequency (IDF)전체 문서 중 해..

Deep Learning/NLP 2025.04.28

Mediapipe Model Maker를 이용한 Object Detection 실습기

1. 시작: TFLite Model Maker의 문제원래는 TFLite Model Maker를 이용해서 Object Detection 모델을 학습하려고 했습니다. TFLite Model Maker는 TensorFlow Lite 모델을 간편하게 만들 수 있는 라이브러리로, 데이터셋만 준비하면 비교적 쉽게 모델을 학습하고 변환할 수 있습니다. 하지만 라이브러리를 설치하고 실행하는 과정에서 여러 가지 오류가 발생했습니다.대표적인 문제는 다음과 같습니다:라이브러리 의존성 충돌특정 버전의 TensorFlow Lite와 호환되지 않는 문제Colab 환경에서 제대로 동작하지 않는 버그이러한 문제들로 인해 결국 TFLite Model Maker를 포기하고, Mediapipe Model Maker를 활용하기로 결정했습니..

RAG의 종류와 search 방법, RAG를 도와주는 여러가지 기법들 (ft.aws workshop)

aws 에서 제공해줬던 workshop을 참고한 내용입니다. https://catalog.us-east-1.prod.workshops.aws/workshops/a372f3ed-e99d-4c95-93b5-ee666375a387/ko-KR Amazon Bedrock Q&A multi-modal chatbot with advanced RAGThis workshop implements several advanced RAG technologies such as parent document, reranker, HyDE, RAG fusion, hybrid search.catalog.us-east-1.prod.workshops.awsRAG의 종류에는 다음과 같은 종류가 있습니다. 1. Lexical Search (어휘..

Deep Learning/NLP 2025.01.17

RAFT(Retrieval Augemented Fine tuning)에서 어떤 식으로 Fine tuning을 해야할까요?

지난 포스트에서, RAG을 할 바에야 RAFT를 하는 것이 낫다는 결론을 내면서 끝을 냈습니다. 하지만 실제로 어떤 식으로 Fine-tuning 을 해야되는 지에 대해서는 알아보지 않았는데요, 이번 포스트에서는 어떤식으로 Fine-tuning을 하는지에 대해서 실질적인 예시를 가져와서 알아보도록 하겠습니다.   위의 example은 실제 training 에 사용되는 데이터를 가지고 온 것입니다.  이를 활용하면, 실제 finetune 하는게 그렇게 어렵지 않을 것 같습니다. 하지만 확실히, 그냥 finetuning 하는것보다는 훨씬 공수가 많이 드는 작업이긴 할 것 같습니다. 실제 가져와야되는 데이터들이 많으니깐 말이죠. 그리고 실제 context에서 일일히 참조가 되는 정보를 뽑아서 제공해줘야되기도 하..

Deep Learning/NLP 2024.07.17

RAG의 새로운 대안 .. RAFT(RAG 할바에야 RAFT!)

요즘 RAG(Retrieval Augmented Generation)를 모르는 사람이 없을 정도로 RAG가 대세로 떠오르고 있습니다. RAG를 모르는 사람들을 위해서 간단하게 설명하자면, RAG란, Base Document가 있고, 거기를 참고해서 Q&A를 하게 만드는 것을 말합니다. Prompt Engineering 을 어떻게 하느냐에 따라 물론 달라지겠지만, Hallucination을 방지하기 위해서 많이 씁니다. 하지만 단점으로는, Base model의 성능에 너무 많은 의존을 하게 되고, 그러다 보니 Foundation 모델의 성능이 떨어지게 되면 성능의 퀄리티가 떨어지는 단점이 있습니다. Foundation model 의 성능에 의존하다 보니, 가장 좋은 모델 (가령, GPT 4)를 쓸 수 밖에..

Deep Learning/NLP 2024.07.16

RAG란? 그리고 Langchain 을 이용한 구현까지

RAG란, Retrieval-Augmented Generation의 약자로, retriever(검색기) 파트와 generator(생성기) 파트로 나눠져 있습니다. retriever는 관련 정보를 Database에서 검색하고, 생성기는 이 정보를 사용하여서 최종 응답을 생성합니다. 관련 링크 : https://python.langchain.com/docs/use_cases/question_answering/ Q&A with RAG | 🦜️🔗 Langchain Overview python.langchain.com Indexing 이후에, (load -> split -> store)이후에, Vector Database 또는 Embedding model 에 저장한 후에, Retrieval 과 Generation..

Deep Learning/NLP 2024.01.23

augmentation을 통해서 data imbalance 맞춰주기

학습할 때, 가장 중요한 것 중 하나가 data balance를 맞춰 주는 것일 겁니다. 만약 두 개의 클래스가 한 개의 클래스는 100장, 한 개의 클래스는 1000장이 있다고 하면, 두 개의 클래스의 밸런스를 맞춰주기 위해서는 1000장을 100장으로 맞춰주기보다는 100장을 1000장으로 맞춰주는게 나을 것입니다. import os from tensorflow.keras.preprocessing.image import ImageDataGenerator, img_to_array, load_img import numpy as np from PIL import Image, ImageEnhance ​ # Directory containing the images to augment input_dir = 'c..

ChatGPT 로 쓴 data split script (Image classification)

ChatGPT로 다음과 Image classification 관련해서 train, val, test 관련된 python script 를 써달라고 말해 봤습니다. 다음은 말한 ChatGPT Script 입니다. 더보기 write me a script in python that splits images into train/val/test. The source will have several directories with images in it. Target will be empty at first. the Target will output three directories, which will maintain the directory structure as the source directory. We shou..

Jetson 에서 LLAMA2 돌리기!

결론부터 말하면, 돌리기는 실패했습니다. 하지만 llama.cpp를 make하는데까지는 성공하고, 또 어떤 노력으로 돌리려고 했는지의 과정을 설명하려고 합니다. 사용 device : Nvidia Jetson Xavier NX Developer cat /proc/device-tree/model 그 전에 llama2를 로컬에서 돌리는 방법의 포스팅을 참고해서, https://walkaroundthedevelop.tistory.com/166 맥북 실리콘에서 LLAMA2 로컬에서 돌리는 방법입니다. reference : https://www.youtube.com/watch?v=TsVZJbnnaSs Repos and models 1. Request access: https://ai.meta.com/resource..

Deep Learning/NLP 2023.07.28