분류 전체보기

🌏 인트로서비스를 개발하다 보면 생각보다 비동기적으로 처리해야 하는 작업들이 많아진다. LLM 호출한다던지, 외부 API 연동, S3에 저장한다던지 등등 외부와 함께 해야하는 작업이 이어질 때, 응답 지연이 길고, 순차적으로 처리하면 전체 서비스가 느려질 수 있다. 그래서 우리는 보통 “비동기 처리”로 이런 작업을 분리한다. 하지만 문제는, 비동기 처리 과정에서 데이터가 섞이거나 순서가 깨지는 상황이 생긴다는 점이다. 동시에 여러 이벤트가 발행될 때 Race Condition이 발생하는 것이다. 이 글에서는 Spring 환경에서 이벤트 기반 아키텍처를 사용하면서 응답 순서를 보장하기 위해 이벤트를 직렬로 처리하는 방식을 설계한 경험을 공유하고자 한다. 🌏 문제 상황: 비동기 이벤트 처리 시의 순서 ..
· ETC
🌏 파이썬 얕은 복사 vs 깊은 복사✅ 얕은 복사 파이썬에서 리스트나 딕셔너리 같은 mutable 객체를 복사할 때, 기본적으로는 객체의 ‘참조 주소’만 복사됩니다.즉, 새로운 변수는 생기지만, 내부 데이터는 여전히 원본과 같은 메모리를 가리킵니다.a = [[1, 2], [3, 4]]b = a.copy() # 얕은 복사 (shallow copy)a[0][0] = 99print(b) # [[99, 2], [3, 4]] ← 내부 리스트가 같이 바뀜!이처럼 겉보기엔 다른 객체처럼 보여도, 내부의 하위 객체(list, dict 등)는 같은 주소를 공유하기 때문에 내부 데이터를 수정하면 다른 쪽에도 반영됩니다.✅ 깊은 복사“완전히 새로운 객체를 새로 만들어 복사하는 방식”깊은 복사는 객체의 모든 계층을 ..
· AI/딥러닝
🌏 인트로딥러닝(Deep Learning) 모델을 만들고 학습시키기 위한 오픈소스 라이브러리NumPy + GPU + 자동미분 + 신경망 모듈을 합쳐 놓은 패키지모듈역할torch기본 수학 연산, Tensor(배열) 처리torch.nn신경망(Neural Network) 모델 구성용 모듈torch.optim최적화 알고리즘 (Adam, SGD 등)torch.autograd자동 미분 기능torch.utils.data데이터셋 관리, 배치 생성(DataLoader)torchvision / torchaudio / torchtext이미지, 오디오, 텍스트용 확장 라이브러리torch.distributed분산 학습용 라이브러리 (멀티 GPU, 멀티 서버)🌏 PyTorch 전체 구조 한눈에 보기PyTorch는 여러 하위 ..
· AI/VLA
앞선 글에서는 VLA(Vision-Language-Action) 모델의 창발성을 테스트하기 위한 핵심 데이터 표현 언어인 BDDL(Behavior Description Definition Language)을 살펴봤습니다.이번 글에서는 실제로 Object Set으로부터 BDDL을 자동 생성하는 과정을 다루어 보겠습니다.[Object Set으로부터 BDDL을 자동 생성하기]🌏 기존: Object Set → BDDL 직접 생성✅ 구현 방법가장 먼저 시도한 것은 Object Set을 그대로 LLM에 입력해 BDDL을 생성하는 방식이었습니다.입력은 다음과 같이 Python 딕셔너리 형태로 구성되어 있고 주어졌습니다. (유일하게 주어진 것은 object list 뿐입니당){ "living_room": ["tab..
· AI/VLA
🌏 인트로BDDL(Behavior Description Definition Language)은 Embodied AI 연구에서 매우 중요한 자료구조로, 로봇의 행동을 정의하는 상황을 제시하는 언어입니다.VLA 연구에 있어서 굉장히 핵심적인 데이터셋으로 활용되고 있습니다.🌏 VLM/VLA란?✅ VLM (Vision-Language Model)정의: 이미지(또는 영상)와 텍스트를 동시에 이해하고 처리할 수 있는 모델기능이미지를 보고 텍스트로 설명 생성 (Image Captioning)텍스트 기반 질의응답 (예: "이 그림 속에 고양이가 몇 마리야?")멀티모달 검색 (이미지+텍스트 기반 검색)예시: GPT-4V, CLIP, BLIP, Flamingo 등활용 분야시각장애인용 이미지 설명이미지 기반 QA 챗봇제..
3D 그래픽스에서 물체가 화면에 보이기까지는 여러 단계의 좌표계 변환을 거칩니다.내가 만든 물체의 좌표가 카메라 기준으로 바뀌고, 최종적으로 “모니터 픽셀 위치”로 매핑되는 과정입니다.(이 모든 과정은 행렬 연산으로 이루어집니당)이번 포스팅에서는 Local → World → View → Clip → Screen 순서로 이 과정을 정리해봤습니다. 🌏 3D 그래픽스 좌표 변환 과정✅ Model Matrix: Local Space → World SpaceLocal Space는 물체 자체의 기준 좌표계입니다.예를 들어, 큐브를 원점(0,0,0)에 만들었을 때, 이건 “세상 속의 큐브”가 아니라 “큐브 자신 입장에서의 좌표”예요.여기서 Model Matrix를 적용하면 이 큐브를 세상(World) 안의 적절한 ..
🌏 조명(Lighting)3D 그래픽스에서 "조명"은 단순히 화면을 밝게 만드는 게 아닙니다. 입체감을 만들고, 소재의 질감을 표현하고, 장면의 분위기를 결정짓는 핵심 요소입니다.실제로는 광원의 위치, 표면의 재질, 관찰자의 시점이 결합되어 물체의 입체감과 사실감을 결정짓습니다.즉, 조명은 “렌더링의 질”을 좌우하는 핵심 요소입니다. 이 포스팅에서는 Local/Global 조명, Phong 모델, 셰이딩 기법에 대해서 다루려고 합니다.✅ Local vs Global IlluminationLocal Illumination (직접 조명)조명과 물체 간의 직접적인 상호작용만 고려합니다.반사, 투과, 그림자 등의 간접 조명은 무시합니다.예. Phong 모델, Cook-Torrance 모델Global Illum..
🌏 3D 게임 보러가기 https://computer-graphics-yonsei.github.io/TermProject/garden https://computer-graphics-yonsei.github.io/TermProject/garden꽃에 물을 주세요! 이동: 목표지점 클릭 및 WASD 물 주기: 영역 내부 클릭 및 Space 카메라 조정: Orbit Control Watered: 0 / 325computer-graphics-yonsei.github.io 프로젝트 레포지토리: https://github.com/computer-graphics-yonsei/TermProject GitHub - computer-graphics-yonsei/TermProjectContribute to computer..
관련 레포: https://github.com/AiResearch2025/FigVarietyRAGChat/tree/pure-RAG GitHub - AiResearch2025/FigVarietyRAGChat: RAG 기반 희귀품종 무화과 챗봇 프로젝트RAG 기반 희귀품종 무화과 챗봇 프로젝트. Contribute to AiResearch2025/FigVarietyRAGChat development by creating an account on GitHub.github.com 🌏 AI Agent✅ AI Agent가 해야 할 일AI Agent는 사용자의 질문이 들어오면 곧바로 그 질문을 LLM에 돌리기 전에 우선 질문을 아래와 같이 분류하고, 각 분류에 따라서 우리가 정해놓은 로직에 따라서 처리한다. 사용..
· AI/LLM
🌏 LLM Fine-tuning이란?✅ 개념LLM(Fine-tuning)은 이미 사전 학습된 대규모 언어모델(Pre-trained LLM)을 특정 목적에 맞게 추가로 학습시키는 과정입니다.쉽게 말해, GPT나 LLaMA 같은 모델이 이미 ‘언어의 일반적인 패턴’을 충분히 배웠다면, Fine-tuning은 여기에 도메인 지식, 기업 데이터 등을 추가해 모델이 더 내가 원하는 답을 정확하게 하는 것입니다.예를 들어 GPT가 “일반적인 언어 전반”을 안다면, Fine-tuning된 모델은 “법률 문서 요약”이나 “우리 제품의 정보를 안 상태로 자동 고객 응대” 같은 특정 작업을 훨씬 더 잘하게 됩니다.Fine-tuning은 거대한 언어모델을 다시 처음부터 가르치는 것이 아닙니다. 이미 똑똑한 모델에게 “우리..
깃짱
'분류 전체보기' 카테고리의 글 목록 (2 Page)