/images/profile/profile.png

Se Hyeon Kim

Scrapy

Introduction 학부 시절 Django를 처음 배울 때를 제외하고 간만에 웹 크롤링을 경험할 기회가 생겼다. Beautifulsoup | Selenium을 사용할 수도 있지만 찾아보니 빅데이터 혹은 딥러닝에서 데이터 크롤링을 할 때 Scrapy를 많이 사용한다는 것을 발견하고 이번 기회에 사용해 보기로 마음 먹고 간단한 데이터 크롤링을 구축해봤다. 설치 및 시작 1 pip install scrapy 1 scrapy startproject arxiv_crawling startproject 명령어를 입력하면 다음과 같이 scrapy가 자동으로 템플릿 폴더를 생성해준다. 생성된 프로젝트 디렉토리로 이동해서 target url에 맞는 프로젝트를 생성해준다.

Docker

Introduction 쿠버네티스를 공부했지만 정작 Docker에 대해서는 제대로 공부한 적이 없는 것이 마음에 들지 않아, 이번 기회에 Docker를 완벽히 이해하고 내 것으로 만든다. 공식 문서를 읽으면서 이해되지 않거나 앞으로 계속 사용해야 할 핵심 코드 위주로 정리해 놓는다. Docker Image 생성 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 # Spark Docker # builder step used to download and configure spark environment FROM openjdk:11.

Airflow Executors

Apache Airflow란 무엇인가? Apache Airflow란? 공식 홈페이지에서 Airflow는 워크 플로를 코드로 작성하고 스케줄링한 뒤 모니터링하는 플랫폼이라고 설명하고 있습니다. 모든 기술이 그렇듯 Airflow에도 당연히 수많은 장점과 단점이 존재합니다. 제가 생각하는 가장 큰 장점은 데이터 조직이라면 필수로 하게 되는 과거 데이터 재처리 작업을 편리하게 수행할 수 있는 점이라고 생각합니다. 이런 이유로 많은 데이터 조직에서 이미 Airflow를 도입해 사용하고 계실 거라고 생각합니다. Airflow는 Apache 인큐베이터 프로젝트로 선정된 지 3년 만에 탑 레벨 프로젝트(Top-Level Project, TLP)로 선정될 만큼 커뮤니티가 빠른 속도로 확장되고 있습니다.

LLM

대규모 언어 모델 정의 대규모 언어 모델(LLM)은 다양한 자연어 처리(NLP) 작업을 수행할 수 있는 딥 러닝 알고리즘입니다. 대규모 언어 모델은 트랜스포머 모델을 사용하며 방대한 데이터 세트를 사용하여 훈련됩니다. 따라서 대규모입니다. 이를 통해 텍스트나 기타 콘텐츠를 인식, 번역, 예측 또는 생성할 수 있습니다. 대규모 언어 모델은 신경망(NN)이라고도 하는데, 이것은 인간의 두뇌에서 영감을 받은 컴퓨팅 시스템입니다. 이러한 신경망은 뉴런과 마찬가지로 계층화된 노드 네트워크를 사용하여 작동합니다. 인공 지능(AI) 애플리케이션에 인간 언어를 가르치는 것 외에도, 대규모 언어 모델은 단백질 구조 이해, 소프트웨어 코드 작성 등과 같은 다양한 작업을 수행하도록 훈련될 수 있습니다.

Langchain

Introduction LangChain은 LLM을 활용한 애플리케이션 개발을 단순화하기 위해 설계돈 오픈 소스 프레임워크이다. 다양한 LLM과 상호 작용하고, 여러 모델을 연결해 복잡한 AI 애플리케이션을 구축하는 데 도움을 주는 도구이다. 주로 LLM 자체를 개발하는 것보다는 만들어진 LLM(ChatGPT)을 사용해 여러 텍스트 분석 기능, 챗봇 개발 등에 사용된다. source: https://js.langchain.com/v0.1/docs/get_started/introduction/ Source : https://aws.amazon.com/ko/what-is/langchain/ 특히 LangChaindms RAG(Retrieval Augmented Generation) 같은 학습으로 모든 입력을 처리할 수 없는 케이스에 많이 사용된다. 실제로 LLM을 서비스할 때는 모든 데이터를 항상 실시간으로 학습시켜 놓을 수도 없고, 사용자가 원하는 질문을 정확하게 답변하기 위해서 여러 추가적인 지식이 필요하기 때문에 이러한 방식을 주로 사용한다.

RAG

Introduction RAG(Retrieval-Augmented Generation)는 대규모 언어 모델의 출력을 최적화하여 응답을 생성하기 전에 학습 데이터 소스 외부의 신뢰할 수 있는 지식 베이스를 참조하도록 하는 프로세스입니다. 대규모 언어 모델(LLM)은 방대한 양의 데이터를 기반으로 학습되며 수십억 개의 매개 변수를 사용하여 질문에 대한 답변, 언어 번역, 문장 완성과 같은 작업에 대한 독창적인 결과를 생성합니다. RAG는 이미 강력한 LLM의 기능을 특정 도메인이나 조직의 내부 지식 기반으로 확장하므로 모델을 다시 교육할 필요가 없습니다. 이는 LLM 결과를 개선하여 다양한 상황에서 관련성, 정확성 및 유용성을 유지하기 위한 비용 효율적인 접근 방식입니다.