본문 바로가기

전체 글

딥러닝을 위한 기상 예측 데이터셋으로 과기부장관상 수상기 SI-Analytics에는 위성영상을 활용한 다양한 연구가 진행되고 있습니다. 올해에는 기상 위성 데이터와 그 외 다양한 기상 관측 데이터를 확보하여 기상 분야에 딥러닝을 적용한 연구도 수행할 수 있었습니다. 다양한 연구 성과들이 있지만 그중에서도 저희가 생산한 데이터셋을 공유하고자 출전한 "2020 연구데이터·AI 분석활용 경진대회(과학기술정보통신부 주최, KISTI 주관)"에서 최우수상인 과학기술부장관상을 수상하는 뜻깊은 일이 있었습니다. SI-Analytics와 SI에서는 4명의 연구자(최예지, 백민영, 최형욱, 차금강)가 함께 SIAin(사이어인)이라는 팀으로 출전하여 "강수량 예측을 위한 시계열 관측 통합 데이터 Radar-AWS-IMERG Network Fusion"를 제안하였습니다. 강수량 .. 더보기
SIA 연구팀 인턴 3개월 소장정 (a.k.a. 맛집 추천) 9월부터 SIA 연구팀에서 함께 생활해온 세 명의 인턴분들이 계십니다. 대략 한 학기 동안 함께 연구와 업무를 수행하고 마무리하는 시점에서 간단한 인터뷰를 진행해 보았습니다. 가벼운 분위기에서 수다떠는 느낌으로 인턴분들의 진솔한 이야기를 들어볼 수 있는 자리였습니다. Q. 간단한 자기소개 부탁드려요. 긴장하지 않으셔도 됩니다😀 백준 : 제 이름은 김백준입니다. 컴퓨터 공학과 마지막 학기 재학 중이고 궁동에 거주하며 집에서 럭O스트라이크*가 3분 거리라 한 달에 한 번씩 가요. * 인터뷰어 중 한 명의 최애 칵테일바 은진 : 이름은 허은진이고 컴퓨터 소프트웨어를 전공하고 있고 현재는 휴학 상태입니다. 서울에 거주 중인데 인턴을 하기 위해 대전까지 내려왔어요. 준화 : 컴퓨터 공학을 전공했고 마지막 학기를 .. 더보기
SIA는 이런 기술을 사용해요 stackshare.io/si_analytics/si-analytics 더보기
SIA는 이렇게 일해요 기술 스택이 궁금하다면? 더보기
회사에 인턴으로 와서 AWS 과금으로 $8,000 날린 썰 (AWS-P 인스턴스 과금, 포스트모템(Postmortem)) 한 번 상상해보라. 당신은 여름방학을 맞아 회사에서 인턴십을 시작했다. 설레는 마음으로 시작한 첫 회사 인턴십 생활 중 실수로 8000달러 (약 950만원)을 날리게 되었다면? 상상만해도 아찔한 순간의 주인공들을 모시고 직접 이야기를 들어보았다. Q: 간단한 자기소개를 부탁드린다. 수민: SIA에서 딥러닝 시스템 엔지니어로 인턴십을 진행하고 있는 손수민이다. 수학과 컴퓨터 공학을 전공했다. 홍준: 저도 딥러닝 시스템 엔지니어로 인턴십을 하고 있는 양홍준이다. Q: 회사에서 어떤 일을 하는가? 홍준: 현재 딥러닝 시스템은 로컬 서버에서 작동하고 있는데, 이 시스템이 AWS에서 동작할 수 있도록 환경 설정 같은 작업을 하고 있다. 수민님과 같이 작업한다. Q: 오늘은 무슨 일을 하고 있었는가? 수민: 인퍼런.. 더보기
Pytorch와 TensorRT를 이용한 딥 러닝 추론 최적화 이 글은 이전 글에서 계속되는 글입니다. 1. Pytorch Model 먼저 추론하기 위한 모델을 Pytorch를 이용하여 구성합니다. 앞 글에서 설명하였듯이 Bert를 이용합니다. Bert를 밑바닥부터 구성하긴 어려우니 transformers모듈에서 제공하는 모델을 사용합니다. 모델의 입력은 input_ids, attention_mask, token_type_ids 세 개를 받고, 출력은 Bert의 층 중 하나를 선택했습니다. 모델의 입력과 출력의 형태는 코드를 통해 확인할 수 있습니다. import transformers import torch class Model(nn.Module): def __init__(self): super(Model, self).__init__() self.model = t.. 더보기
Pytorch를 TensorRT로 변환하기 위한 환경 설정 1. Introduction TensorRT는 학습된 딥러닝 모델을 최적화하여 NVIDIA GPU 상에서 추론하는 속도를 수십 ~ 수십배까지 향상시켜주는 모델 최적화 엔진입니다. 지원하는 프레임워크는 pytorch, tensorflow, keras, onnx 등이 있습니다. 여러 프레임워크에서 직접적인 TensorRT 변환을 지원하고 있지만 다소 제약이 있으며, 대신 onnx로의 변환은 대부분의 프레임워크에서 더 나은 지원을 해주고 있으며 onnx로 변환한 모델은 다시 TensorRT로 변환이 가능합니다. 저희는 대부분의 연구/개발을 pytorch로 하기 때문에 pytorch을 onnx로 변환하고 이를 TensorRT로 추론하는 방법을 선택하였습니다. 이번 글에서는 TensorRT로 변환했을 때 속도가 .. 더보기
Horovod 모듈 사용하여 Pytorch Multi GPU 학습 효율적으로 하기 1. Introduction 기본적으로 Pytorch를 이용하여 학습을 가속하기 위해서는 다수의 GPU를 활용해야 합니다. 이전 글에서 기술한 것처럼 다수의 GPU를 사용할 수 있는 방법을 Pytorch 자체에서 DistributedDataParallel이라는 모듈로 제공하고 있습니다. 하지만 해당 글에서 볼 수 있듯이 고려해야 할 사항들이 많습니다. 예를 들어 multiprocessing의 프로세스를 관리하는 것과 DataLoader에서 pin memory, shuffle 등을 고려해야 합니다. 하지만 Horovod라는 모듈을 이용하면 굉장히 간단한 코드 추가로 Multi GPU 학습이 가능합니다. 이 글에서는 Pytorch와 Horovod를 이용하여 다수의 GPU를 이용한 학습 방법을 소개합니다. 2.. 더보기