전체 글(846)
-
N8n) 웹 크롤링 기반 자동 분석 및 결과 전송 워크플로우
n8n이란? n8n은 오픈 소스 자동화 툴로, 다양한 서비스와 API를 연결하여 업무 프로세스를 자동화할 수 있습니다. 사용자는 n8n을 통해 여러 작업을 시각적으로 연결하여 복잡한 워크플로우를 쉽게 만들 수 있으며, 이를 통해 효율적으로 반복적인 작업을 자동화할 수 있습니다. 이 워크플로우는 웹사이트에서 데이터를 크롤링하고, 크롤링된 텍스트를 전처리한 후 GPT를 활용해 자연어 처리 및 요약을 수행하는 과정으로 시작됩니다. 이후, 파이썬을 사용해 텍스트를 분석하여 추가적인 인사이트를 도출하고, 최종 결과를 지메일을 통해 자동으로 전달합니다. 이 과정을 통해 크롤링부터 분석, 결과 전송까지의 전 과정을 자동화함으로써 사용자의 시간과 노력을 절감하는 데 중점을 두고 있습니다.주요 단계:웹사이트 크롤링: 필..
2024.10.19 -
논문) β-Skeleton 그래프와 GCN을 활용한 문서 읽기 순서 예측
해당 글은 ChatGPT 4o With canvas로 만들었습니다. 문서를 파싱하는 것까지는 많은 오픈 소스랑 논문들이 있지만, 이 순서를 잘 정리해 주는 방법에 대한 것들은 많이 찾아보기가 어려웠다. 그래서 곰곰이 생각했을 때 각각의 파싱 된 결과를 노드로 생각하고 그것을 읽는 순서를 엣지로 정의하면 좀 더 쉽게 풀리지 않을까 싶은 생각에 시도했다가 생각보다 잘 되지 않았다.그래서 Reading Order에 대한 논문을 찾던 도중 구글에 다니는 분들이 쓴 논문이 있어서 살펴봤다. 내용중에서 그래프랑 이미지를 같이 쓰는 것과 초기 edge를 어떻게 정의하는지가 눈에 띄었다.문서 읽기 순서 예측의 중요성문서 내의 텍스트가 어떤 순서로 읽혀야 하는지 예측하는 것은 매우 중요한 과제입니다. 특히, 다중 열 ..
2024.10.12 -
[내용 정리] Graph Structure Learning: 왜 중요한가, 무엇이 좋은가?
해당 글은 ChatGPT 4o With canvas 로 만들었습니다. 해당 내용은 GSL에 관심이 생겨서 알아보게 되었고, 논문이 많아서 일단 GPT한테 부탁해서 정리를 시켜본 글이다.일단 내가 알고 싶은 것은 아래 그림처럼 기존의 그래프가 있을 경우, 이 그래프가 노드의 정보를 잘 담아서 다시 학습할 수 있는 방법에 대해서 궁금하게 되어서 찾아보게 되었습니다. 그래프 구조 학습(Graph Structure Learning, GSL)은 복잡한 데이터 간의 관계를 이해하고, 이를 통해 데이터를 더 잘 활용하는 기술입니다. GSL은 소셜 네트워크 분석, 추천 시스템, 지식 그래프 등에서 널리 사용되고 있으며, 그래프 신경망(Graph Neural Networks, GNN)과 결합해 뛰어난 성능을 발휘합니다..
2024.10.12 -
Nginx 알아보기 (AI 모델 서빙 관점)
배경NGINX가 등장하게 된 배경은 2000년대 초반, 인터넷 사용량과 웹 트래픽이 급증하면서 등장한 웹 서버의 확장성 문제를 해결하려는 시도에서 비롯되었습니다. 당시 가장 많이 사용되던 Apache HTTP Server는 요청당 하나의 스레드를 사용하는 멀티스레드 기반 아키텍처였는데, 이는 다수의 동시 요청을 처리할 때 서버 자원을 과도하게 사용하게 되어 성능 저하와 서버 과부하를 일으키는 문제가 있었습니다. 대표적인 문제로 C10K 문제(한 번에 1만 개의 연결을 처리하는 문제)로 알려져 있으며, 당시 서버는 많은 트래픽을 처리하는 데 어려움을 겪었다고 합니다. 러시아의 소프트웨어 엔지니어 Igor Sysoev는 이러한 문제를 해결하기 위해 2002년부터 새로운 웹 서버 소프트웨어 개발을 시작했고,..
2024.09.18 -
컨테이너 내 GPU 모니터링 시스템 구축: NVIDIA DCGM, Prometheus, Grafana를 활용한 실시간 분석
GPU Monitoring in Containers 프로젝트 소개프로젝트 배경최근 대규모 언어 모델(LLM)과 같은 딥러닝 모델이 급격히 발전하면서 GPU의 효율적인 사용이 매우 중요해졌습니다. 특히 여러 컨테이너 환경에서 동시에 다양한 작업이 수행될 때, GPU 사용률을 실시간으로 모니터링하고, 성능 병목을 해결하는 것은 필수적입니다. 기존의 많은 GPU 모니터링 시스템이 컨테이너 단위가 아닌 시스템 전체에 대한 GPU 사용량만을 제공하기 때문에, 컨테이너별로 세밀한 모니터링을 수행하기에는 한계가 있었습니다. 이 프로젝트는 NVIDIA DCGM(Data Center GPU Manager), Prometheus, 그리고 Grafana를 사용하여 컨테이너별로 GPU 사용량을 모니터링하고, 이를 시각화하여 ..
2024.09.18 -
LangChain Products 알아보기 (LangChain, LangGraph, LangSmith, LangServe)
LangChain 제품들 요약(LangChain, LangGraph, LangSmith, LangServe) LangChain 제품과 각각의 주요 내용을 정리하면 다음과 같습니다:LangChain: 대형 언어 모델(LLM)을 활용한 애플리케이션 개발 프레임워크입니다.개발: 오픈소스 구성 요소와 LangGraph를 사용하여 상태 유지 에이전트를 구축합니다.생산화: LangSmith를 사용하여 체인을 검사, 모니터링, 평가하고 최적화합니다.배포: LangGraph Cloud를 통해 생산 준비가 된 API 및 Assistant로 변환합니다.LangChain의 구성 요소:langchain-core: 기본 추상화 및 LangChain 표현 언어.langchain-community: 서드파티 통합. (https:/..
2024.08.07 -
LLM) LLAVA 13b로 caption(설명) 또는 table 텍스트 데이터 생성해보기
llava라는 모델이 나와서 이미지 데이터만으로 테이블을 만들거나 caption을 생성한다는 것이 매력적인 것 같아 실험을 해봅니다. 자원이 없다 보니 개인 노트북에서 cpu로 돌리면서 결과를 하나하나 얻다 보니, 매우 오래 기다렸지만, 나름 유의미한 것 같아 공유드립니다. 아시다시피 한국 사람이다보니, 영어의 결과보다는 한국어로 결과를 얻고 싶었고, llava는 아무래도 영어를 주력 언어로 학습하다 보니, 학습을 시켜 아하나?라는 생각이 들었습니다. 하지만 그렇게 자원도 학습할 데이터도 없다 보니, 현재는 불가능하다 생각이 들었습니다. 그리고 번역기 성능이 좋다면, 오픈된 도메인 환경에서는 크게 문제 되지 않을 수도 있다는 생각이 들어서 deep_translator를 사용하여 번역하여 한국어로 결과를 ..
2024.07.30 -
Layout LM(=Language Model) 알아보기 - TODO
LLM이 나오게 되면서 말을 엄청 잘하는 모델이 일상인 시대가 되었습니다.여기서 좀 더 우리가 원하는 대로 만들기 위해서는 기존에 Pre training Model을 학습하거나 문맥 정보를 제공하여,우리가 원하는 답을 생성하도록 할 수 있습니다. 이때 학습할 자료나 문맥을 제공할 때 우리는 문서를 잘 읽어서 제대로 전달해야지 LLM 성능을 그대로 활용할 수 있다.하지만 실제로 문서를 보면 읽기 쉬운 문서만 있는 것이 아니라 복잡한 구조를 가지거나 그림을 해석해야 하는 등 다양한 작업들이 필요하다는 것을 알게 됩니다. 이번 글에서는 문서를 잘 이해하는 주제로 나온 논문인 Layout LM 들에 대해서 알아보고자 합니다. Layout LM 이란?LayoutLM은 스캔된 문서 이미지의 텍스트와 레이아웃 정보..
2024.07.23 -
논문 정리) Searching for Best Practices in Retrieval-Augmented Generation
SNS에서 요약된 내용과 이미지를 보고, 잘 정리가 되어있을 것 같아 정리해 보기로 하였습니다.이 논문을 통해 현재 최신 RAG는 어떻게 하는 지 알아보고자 합니다.논문 요약 RAG의 효과성: 최신 정보를 통합하고, 오류를 줄이며, 특히 전문 분야에서 답변의 질을 높이는 데 효과적입니다.현재 문제점: 많은 RAG 접근법이 복잡한 구현과 긴 응답 시간 문제를 가지고 있습니다.연구 목적: 다양한 RAG 방법과 조합을 조사하여 성능과 효율성을 균형 있게 유지하는 최적의 RAG 방식을 찾는 것입니다.멀티모달 검색: 시각적 입력에 대한 질문 답변 능력을 크게 향상시키고, “검색을 통한 생성” 전략을 통해 멀티모달 콘텐츠 생성을 가속화할 수 있습니다.도입부RAG란?RAG는 컴퓨터가 질문에 답할 때, 최신 정보를 찾..
2024.07.05 -
LangGraph) LangGraph에 대한 개념과 간단한 예시 만들어보기
LangGraph 가 나온 이유LLM을 통해서 FLOW를 만들다 보면, 이전 LLM 결과에 대해서 다음 작업으로 넘길 때, LLM이 생성되는 결과에 의해 실패하는 경험들을 다들 해보셨을 것입니다.개인적으로 분기 처리나 후처리 로직을 담는데, Output Parser에서 제어하려 했지만, 이러면 전반적인 구조나 결과를 보기가 쉽지 않았습니다. LangGraph는 LangChain 생태계 내에서 이러한 문제를 직접 해결하기 위해 설계된 강력한 라이브러리입니다. 이 라이브러리는 여러 LLM 에이전트(또는 체인)를 구조화된 방식으로 정의, 조정 및 실행할 수 있는 프레임워크를 제공합니다. LangGraph란 무엇인가요?LangGraph는 LLM을 사용하여 상태를 유지하고 여러 에이전트를 포함한 애플리케이션을 쉽..
2024.06.29 -
Poetry) poetry를 사용하여 외부/내부 repository의 의존성을 고려하여 패키지 목록 관리 및 다운로드 하기
패키지 개발을 할 때 잘 안 되는 점 중에서 하나는 다른 환경에서 동일하게 설치할 경우 설치가 잘 안 되는 경우가 있다.항상 패키지를 설치하다보면 내 환경에서는 되지만 다른 사람에게 해당하는 경우를 전달해도, 다른 의존성으로 인해 설치가 안 되는 경우를 자주 경험했다. 그리고 내부 레포지토리가 있고 외부 레포지토리 2개가 있을 경우에도 우선적으로는 내부 레포지토리를 기반으로 의존성이 나오면 좋겠으면 고민했다가 해당 방식으로 하면 괜찮을 것 같아서 공유한다. 괜찮을 것 같다고 한 것은 실제로 테스트를 많이 해보지 않아서 다른 사람들에게는 안될 수 있기 때문이다.개선 사항이 있다면 댓글에 남겨주시면 반영해보겠다! 참고로 필자는 poetry를 많이 사용하지 않아서 다른 디테일한 설정을 잘 몰라서... 알려주시..
2024.06.22 -
Paper) Heuristic Algorithm-based Action Masking Reinforcement Learning (HAAM-RL) with Ensemble Inference Method 읽어보기
오랜만에 강화학습 관련 논문 읽어보기개요 기존의 휴리스틱 알고리즘은 현실 세계의 제약을 충분히 반영하지 못하고 물류 성능을 정확하게 예측하는 데 한계가 있었습니다. 이 논문은 자동차 도장 공정의 색상 배칭 재순서화 문제를 최적화하기 위해 Heuristic Algorithm-based Action Masking Reinforcement Learning (HAAM-RL)이라는 새로운 강화 학습 접근 방식을 제안합니다. 주요 기여 요소새로운 강화 학습 마르코프 결정 프로세스(MDP) 개발:FlexSim 시뮬레이터를 사용하여 환경을 설정하고 상태와 행동 공간을 정의합니다.상태는 시스템의 모든 슬롯을 나타내는 2D 배열로 구성됩니다.휴리스틱 알고리즘을 사용한 액션 마스킹:초기에는 MDP를 수정하여 기본 RL 알..
2024.06.22