Commit 826204ea authored by HooYoungAhn's avatar HooYoungAhn
Browse files

update README

parent ca4ebe02
Pipeline #839 canceled with stages
# BeeAI: KSB 인공지능 프레임워크
## 소개
![개념도](images/images_conceptual_illustration.jpg)
#### 개념 및 구조
- KSB 인공지능 프레임워크(이하 <b>BeeAI</b>)는 <b>IoT, 빅데이터, 기계학습 및 도메인 지식</b>을 융합하여 다양한 인공지능 서비스 구축에 필요한 공통기능을 제공하는 인공지능 프레임워크입니다. BeeAI는 분산병렬 인프라를 기반으로, 다양한 데이터 소스의 수집으로부터 도메인 응용서비스 제공까지의 전주기적 솔루션을 지향합니다.
- BeeAI는 <b>멀티모달 데이터처리, 멀티모델 동시학습 및 추론, 자동기계학습, 분산병렬학습 및 추론, 학습모델 및 도메인지식의 탑재·연동</b> 등의 기능을 제공합니다. 각각의 기능들은, <b>워크플로우를 이용하여 선택·조합·실행·서빙 및 재활용</b>이 가능하도록 설계되었습니다.
#### 특장점
- <b>지속성</b> : SW/Data/Analytics/경험 등 기업의 데이터를 활용한 인공지능 기술력 내재화 가능
- <b>다양성</b> : SW 컴퍼넌트들의 조합으로 다양한 응용 서비스 시스템 구성 가능
- <b>재활용성</b> : 워크플로우 재활용 및 공유 기능 제공
- <b>확장성</b> : 개발자 API를 이용한 3rd Party 컴퍼넌트 개발 및 등록 인터페이스 제공
- <b>편의성</b> : (1) 웹 기반 DIY 워크플로우 저작도구 및 모니터링/실행/제어 인터페이스제공, (2) Stand-alone 실행환경과 웹툴킷 저작 환경을 포함한 컨테이너 기반 툴박스 제공, (3) 모델 학습과 서빙 프로세스 일원화
## 가입절차
BeeAI를 다운받기 위한 절차는 다음과 같습니다.
#### ETRI 외부 클라우드 저장소 회원가입
- <https://oss.etri.re.kr/> 접속 후 "외부 클라우드 저장소" 클릭 (아래 그림 참조)
![ETRI 오픈소스포털](images/images_oss.etri.re.kr.png)
- 외부 클라우드 저장소 회원가입 (아래 그림 참조). 회원 가입시의 "Full name"과 "Username"은 아래 "<b>권한요청 Email 발송</b>"에서 필요함.
![ETRI 외부 클라우드 저장소 가입](images/images_etri.external.git.png)
#### 권한요청 Email 발송
가입시의 "Full name"과 "Username"을 포함하는 메일을 작성하여 발송합니다 (아래 참조).
- Email 제목: KSB KAF Git Repository 접근승인요청
- Email 수신처: dwk@etri.re.kr
- 내용: 반드시 "Full name"과 "Username"을 포함하여야 하며, 기타 내용은 자유양식으로 작성
담장자 (dwk@etri.re.kr) 부재시, 추가 Email 수신처는 아래와 같습니다.
- kanghj@etri.re.kr
- leeyh@etri.re.kr
발송된 권한요청 Email은 담당자에 의해 수동으로 확인됩니다. 담당자가 부재 중이 아닐 경우, 빠른 확인 후 권한요청 승인에 대한 답변이 이메일로 발송됩니다.
#### 다운로드
권한요청 승인 답메일을 받은 후에는, 아래의 명령어를 이용하여 BeeAI를 다운로드할 수 있습니다.
<pre>
<code>git clone http://211.43.13.21/ksb/kaf</code>
</pre>
처음으로 다운로드할 경우, 가입시 이용한 사용자 ID ("Username")와 암호 ("Password")를 입력합니다.
#### 업데이트
BeeAI가 업데이트된 경우, 아래 명령어를 이용해 업데이트된 파일만 받을 수 있습니다.
<pre>
<code>git pull http://211.43.13.21/ksb/kaf</code>
</pre>
#### 참고
동일한 BeeAI를 <https://csleoss.etri.re.kr/kor/sub02_04.do> 사이트에서 별도의 회원 가입 후, "2. KSB 인공지능 프레임워크 (오픈소스 및 바이너리 파일)"를 통해서도 다운로드 받을 수 있습니다. <b>주의</b>: 이 방법으로 다운을 받으면, BeeAI가 업데이트 되었을 경우 전체파일을 새로 받아야 합니다.
## 설치
다운받은 BeeAI를 설치하기 위해 다음 문서를 참고합니다.
- BeeAI 설치
- <https://etrioss.kr/thkimetri/ksb19.03-manual/blob/master/manual1903/1.3.HowToInstallKsbFrameWork-1903.md>
- 웹툴킷 설치
- <https://etrioss.kr/thkimetri/ksb19.03-manual/blob/master/manual1903/1.4.HowToInstallKsbWebToolkit-1903.md>
## 처음 실행하기
BeeAI를 실행하기 위해 다음 문서를 참고합니다.
- BeeAI 실행
- <https://etrioss.kr/thkimetri/ksb19.03-manual/blob/master/manual1903/1.5.HowToRunFirst-1903.md>
## 사용자 가이드
KSB 인공지능 프레임워크를 이용하여 인공지능 서비스를 만드는 방법을 설명한 사용자 매뉴얼이다.
KSB 웹툴킷을 이용하여 인공지능 서비스와 관련된 워크플로우를 만들고 실행하거나 제어하는 방법을 설명한다.
또한 워크플로우를 쉽게 개발할 수 있도록 KSB 웹툴킷 기반의 다양한 워크플로우 개발 예제를 소개한다.
### 워크플로우 예제 :: 데이터 처리
#### 스트림 데이터 적재하기
- 스트림 데이터를 MongoDB에 적재하는 예제를 소개합니다.
- <https://etrioss.kr/thkimetri/ksb19.03-manual/blob/master/manual1903/2.5.1.HttpToMongodbExample.md>
#### 배치방식으로 데이터 처리하기
- KMeans 클러스터링을 수행하는 배치데이터 처리 예제를 소개합니다.
- <https://etrioss.kr/thkimetri/ksb19.03-manual/blob/master/manual1903/2.5.2.KMeansExample.md>
#### 비식별 처리하기
- 원본 데이터에 총계처리, 가명처리, 부분식별자삭제, 암호화 비식별화 기능을 적용한 예제를 소개합니다.
- <https://etrioss.kr/thkimetri/ksb19.03-manual/blob/master/manual1903/2.5.3.DeidentificationExample.md>
### 워크플로우 예제 :: ML 모델 학습 및 서빙
#### ML모델 학습하기
- DecisionTree 분류 예제를 소개합니다.
- <https://etrioss.kr/thkimetri/ksb19.03-manual/blob/master/manual1903/2.5.4.BatchMLTrainInSingleEngine.md>
#### AutoML 학습하기
- AutoML 학습 예제를 소개합니다..
- <https://etrioss.kr/thkimetri/ksb19.03-manual/blob/master/manual1903/2.5.5.BatchAutoMLTrainInSingleEngine.md>
#### 배치방식으로 ML모델 예측결과 얻기
- AutoML로 학습된모델로부터 예측하는 예제를 소개합니다.
- <https://etrioss.kr/thkimetri/ksb19.03-manual/blob/master/manual1903/2.5.6.BatchMLPredictInSingleEngine.md>
#### 스트림 방식으로 ML모델 예측결과 얻기
- 온도센서 스트림 데이터를 전처리하여 기계학습 모델에 의해 예측된 온도값을 Kafka 스트림으로 내보내는 예제를 소개합니다.
- <https://etrioss.kr/thkimetri/ksb19.03-manual/blob/master/manual1903/2.5.7.RealtimeIngestToPredictInSingleEngine.md>
#### 스트림 방식으로 예측하여 REST 방식으로 서빙하기
- 온도센서 스트림 데이터를 전처리하여 기계학습 모델에 의해 예측된 온도값을 클라이언트 요청에 따라 전달하는 예제를 소개합니다.
- <https://etrioss.kr/thkimetri/ksb19.03-manual/blob/master/manual1903/2.5.8.RealtimeIngestToServingInTwoEngines.md>
#### 스트림 예측결과를 지식추론하여 REST 방식으로 서빙하기
- 온도센서 스트림 데이터를 전처리하여 기계학습 모델에 의해 예측된 온도값을 클라이언트의 요청에 따라 최적의 제어를 추론하여 전달하는 예제를 소개합니다.
- <https://etrioss.kr/thkimetri/ksb19.03-manual/blob/master/manual1903/2.5.9.RealtimeIngestToServingWithKbInTwoEngines.md>
### 워크플로우 예제 :: DL 모델 학습 및 서빙
#### 텐서플로우 모델 주기적으로 학습하기
- 텐서플로우 기반 딥러닝 모델을 주기적으로 학습하는 예제를 소개합니다.
- <https://etrioss.kr/thkimetri/ksb19.03-manual/blob/master/manual1903/2.5.10.HourlyTensorflowTraining.md>
#### 온디맨드 방식으로 Inception 모델 서빙하기
- 텐서플로우 Inception 모델을 이용한 온디맨드 방식의 이미지 분류 서비스 예제를 소개합니다.
- <https://etrioss.kr/thkimetri/ksb19.03-manual/blob/master/manual1903/2.5.11.InceptionServingExample.md>
#### 스트림 방식으로 Mnist 모델 서빙하기
- Kafka로부터 전달받은 이미지를 텐서플로우 기반 Mnist 모델로 분류하여 Kafka 스트림으로 전달하는 예제를 소개합니다.
- <https://etrioss.kr/thkimetri/ksb19.03-manual/blob/master/manual1903/2.5.12.TfStreamPredictionMnist.md>
### 워크플로우 예제 :: 융합서빙 및 기타
#### 융합 REST API 만들기
- REST API를 파이프라인하여 새로운 융합 REST API 를 만드는 예제를 소개합니다.
- <https://etrioss.kr/thkimetri/ksb19.03-manual/blob/master/manual1903/2.5.13.ConvergedServingEndToEndExample.md>
#### 쿠버네티스를 이용한 주기적인 모델학습 및 예측모델 서빙하기
- 강남교통 모델을 주기적으로 학습하고 학습된 모델을 쿠버네티스에서 서빙하는 예제를 소개합니다.
- <https://etrioss.kr/thkimetri/ksb19.03-manual/blob/master/manual1903/2.5.14.TrafficPeriodicTrainAndK8sServingExample.md>
### 워크플로우 예제 :: 교통속도 예측 튜토리얼
#### 교통속도 스트림 데이터 전처리하기
- 교통센서로부터 시계열 속도 데이터를 수집하여 전처리를 수행하고, 파일로 저장하는 예제를 소개합니다.
- <https://etrioss.kr/thkimetri/ksb19.03-manual/blob/master/manual1903/2.6.1.TrafficPreprocessing.md>
#### 교통속도예측 텐서플로우 모델 학습하기
- 일정 기간 수집하여 전처리한 시계열 속도 데이터를 이용하여 텐서플로우 기반 딥러닝 모델을 학습하여 서빙용 모델을 만드는 예제를 소개합니다.
- <https://etrioss.kr/thkimetri/ksb19.03-manual/blob/master/manual1903/2.6.2.TrafficTraining.md>
#### 온디맨드 방식으로 교통속도예측 모델 서빙하기
- 텐서플로우 기반 딥러닝 모델을 이용한 교통 속도 예측 RESTful 서비스 예제를 소개합니다.
- <https://etrioss.kr/thkimetri/ksb19.03-manual/blob/master/manual1903/2.6.3.TrafficOnDemandServing.md>
#### 스트림 방식으로 교통속도예측 모델 서빙하기
- 교통센서로부터 시계열 속도 데이터를 수집한 후 전처리를 수행하고, 텐서플로우 기반 딥러닝 모델에 의해 예측된 속도를 클라이언트로 전달하는 예제를 소개합니다.
- <https://etrioss.kr/thkimetri/ksb19.03-manual/blob/master/manual1903/2.6.4.TrafficStreamServing.md>
#### 실시간 시계열 교통속도 센서스트림 처리하기
- 교통센서로부터 동시에 무작위로 들어오는 시계열 속도 데이터를 수집하여 시간 순으로 데이터를 처리해서
내보내는 예제를 소개합니다.
- <https://etrioss.kr/thkimetri/ksb19.03-manual/blob/master/manual1903/2.6.5.TrafficTimeseriesProcessing.md>
#### 실시간 시계열 교통속도 센서스트림 처리 및 텐서플로우 모델 서빙하기
- 교통센서로부터 시계열 속도 데이터를 수집한 후 전처리를 수행하고, 텐서플로우 기반 딥러닝 모델에 의해
예측된 속도를 클라이언트로 전달하는 예제를 소개합니다.
- <https://etrioss.kr/thkimetri/ksb19.03-manual/blob/master/manual1903/2.6.6.TrafficStreamingPredict.md>
#### 실시간 시계열 교통속도 센서스트림 처리/학습/예측 및 주기적 모델 갱신하기
- 교통센서로부터 시계열 속도 데이터를 수집한 후 전처리를 수행하고, 텐서플로우 기반 딥러닝 모델에 의해
예측된 속도를 클라이언트로 전달하는 한편, 전처리한 속도 데이터를 계속해서 파일에 저장한 후
텐서플로우 기반 딥러닝 모델을 주기적으로 학습하는 예제를 소개합니다.
- <https://etrioss.kr/thkimetri/ksb19.03-manual/blob/master/manual1903/2.6.7.TrafficEndToEnd.md>
### 참고
| | 설명 | 링크 |
| ------ | ------ | ------ |
| Python 모듈 사용하기 | 사용자가 작성한 Python 모듈을 KSB 프레임워크에 탑재하기 위해 Docker 이미지로 만드는 방법에 대해 설명합니다. | <https://etrioss.kr/thkimetri/ksb19.03-manual/blob/master/manual1903/2.7.1.KSB_Dockerize.md> |
| KSB 프레임워크와 연동을 위한 tensorflow 학습코드 작성하기 | 사용자가 작성한 Python 기반 tensorflow 학습코드와 KSB 프레임워크 간 연동을 위해, 코드 작성 방법에 대해 설명합니다. | <https://etrioss.kr/thkimetri/ksb19.03-manual/blob/master/manual1903/2.7.2.KSB_TfPyCoding_Guide.md> |
| CSV 파일 Parquet로 저장하기 | 사용자 CSV 파일을 Parquet 형태의 파일로 변환하여 저장하는 방법에 대해 설명합니다. | <https://etrioss.kr/thkimetri/ksb19.03-manual/blob/master/manual1903/2.7.3.CSV2Parquet.md> |
## BeeAI 관련 웹사이트
- BeeAI 네이버 카페
- <https://cafe.naver.com/ksbeeai>
- ETRI 오픈소스포털
- <https://oss.etri.re.kr/>
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment