전체 글102 프로젝트 버전 관리 자동화 매번 코드에서 버전을 output_base_dir = os.path.join('output', f"V_19")이런 식으로 해서 20으로 바꾸고 실행시키고 21로 바꾸고 실행 시키기 싫어서 버전 관리 자동화 함수를 만들어서 프로젝트에 사용하였다 아래 함수는 실행할 때 마다 자동으로 숫자가 올라가게 해서 버전 관리를 자동화 할 수 있게 한 함수이다.def get_next_version(): import glob version_folders = glob.glob('output/V_*') if not version_folders: return 19 # 시작 버전 versions = [] for folder in version_folders: try: .. 2025. 7. 14. Docker Compose로 다중 컨테이너 애플리케이션 구축하기 이번 예제는 Fast API기반 웹 애플리케이션과 여러 서비스를 통합한 구조이다. docker-compose.yml은 FastAPI 서버, 벡터 데이터베이스인 milvus, 관계형 데이터베이스인 Postgres, 객체 스토리지인 MinIO, 메타데이터 저장소인 ectd 관리 UI인 pgAdmin을 포함하고 있다. docker-compose.yml 파일을 통해서 애플리케이션을 효율적으로 배포할 수 있다. docker-compose.yml: 여러 도커 컨테이너 서비스를 정의하고 관리하는 설정 파일 Milvus 서비스: AI/ML용 벡터 데이터베이스로, v2.3.3 버전을 사용해 단일 모드로 실행된다. 포트 19530과 9091을 열어 외부 접근 가능하며, etcd와 minio에 의존해 데이터와 메타데이터를.. 2025. 6. 26. 도커 에러 메세지 정리 밀버스 연결 오류[ERROR] [grpcclient/client.go:429] ["retry func failed"] [error="empty grpc client: failed to connect 172.18.0.2:53100, reason: connection error: desc = \"transport: error while dialing: dial tcp 172.18.0.2:53100: connect: connection refused\""] 세션 등록 충돌 오류[ERROR] [sessionutil/session_util.go:468] ["retry func failed"] [error="function CompareAndSwap error for compare is false for key:.. 2025. 6. 20. Attention Is All You Need(Transformer) 배경 및 문제의식기존의 기계 번역 및 시퀀스 모델링에서는 RNN(Recurrent Neural Network)과 CNN(Convolutional Neural Network)을 많이 사용했습니다. 하지만 RNN은 순차적으로 학습해야 하므로 병렬처리가 어렵고, 긴 문장에서 장기 의존성(long-term dependency)을 학습하기 어렵다는 단점이 있습니다. 해당 논문은 recurrence와 convolution 을 전부 제외하고 오직 attention mechanism에만 기반한 Transformer라는 간단한 모델을 제안하는데, 초록에서 제안한 모델의 특징은 아래와 같이 요약할 수 있습니다. 어텐션 기법으로 재귀적으로 각각의 시퀀스를 처리하지 않고 오직 행렬 곱을 이용해서 병렬적으로 시퀀스 데이터를 처.. 2025. 3. 18. “Sequence to Sequence Learning with Neural Networks” (Ilya Sutskever et al., 2014) 논문 개요제안된 구조: Seq2Seq (Sequence to Sequence)핵심 아이디어: 두 개의 LSTM (Encoder & Decoder)을 사용하여 가변 길이 시퀀스를 다른 시퀀스로 변환적용 문제: 영어 → 프랑스어 기계 번역 (WMT’14 데이터셋)성과: 기존 phrase-based SMT보다 높은 BLEU 점수 획득Sequence to Sequence란?Seq2Seq는 하나의 시퀀스(입력)를 받아, 또 다른 시퀀스(출력)로 변환하는 모델 구조입니다.Seq2Seq 구조Encoder LSTM: 입력 문장 x₁, x₂, ..., xₙ을 읽어들여 고정된 벡터 표현 v로 압축Decoder LSTM: v를 입력받아 출력 문장 y₁, y₂, ..., yₘ 생성[입력 시퀀스] → [Encoder RNN] .. 2025. 3. 18. “Learning Phrase Representations using RNN Encoder–Decoder for Statistical Machine Translation” (Kyunghyun Cho et al., 2014) 배경 및 목적 : RNN Encoder–Decoder + GRU존 통계적 기계 번역(SMT)은 단순한 통계 기반, 고정된 표현, 순서 정보 미포함 등 한계가 있었음이를 개선하기 위해 가변 길이 시퀀스를 다룰 수 있는 RNN 기반 Encoder–Decoder 구조를 제안더 나아가 학습이 쉽고 계산이 간단한 GRU(Gated Recurrent Unit)을 함께 도입함 핵심 제안 RNN Encoder–Decoder 구조Encoder RNN: 입력 문장(x₁, ..., xₜ)을 **고정 길이 벡터(c)**로 인코딩Decoder RNN: 이 벡터(c)를 기반으로 출력 문장(y₁, ..., yₜ') 생성즉, 시퀀스 → 벡터 → 시퀀스로의 변환 구조GRU 셀 도입 (LSTM 간소화 버전)기존 LSTM보다 더 간단하고.. 2025. 3. 18. 이전 1 2 3 4 ··· 17 다음