구글 클라우드 12

LangChain에서 Vertex.AI LLM 사용하기

LangChain 에서 Vertex.AI LLM 사용하기 조대협 (http://bcho.tistory.com) 라이브러리 설치 !pip install 'google-cloud-aiplatform>=1.25.0' !pip install --user langchain 필요라이브러리로는 Google Cloud AI Platform SDK 1.25 버전 이상이 필요하며, Langchain 라이브러리를 같이 설치한다. 환경 설정 구글 클라우드에서 LLM API 를 호출하기 위해서는 API 인증 및 사용하는 프로젝트를 지정해야 한다. 여기서는 편의상 구글 클라우드 Vertex.ai workbench (매니지드 Jupyter 노트북)을 생성하면서 Service account를 먼저 생성해놓고, Vertex.AI를 호..

Vertex AI : 모델 학습 및 하이퍼 패러미터 튜닝

Vertex AI : 모델 학습 및 하이퍼 패러미터 튜닝 조대협 (http://bcho.tistory.com) 가장 기본적이지만 클라우드를 사용하면서 가장 효과적인 기능이 모델 학습과 하이퍼 패러미터 튜닝이다. 모델 학습을 위해서는 CPU/GPU 고사양의 컴퓨터가 필요하지만, 이 고사양의 컴퓨팅 파워가 항상 이용되는 것이 아니라. 학습때 많은 컴퓨팅 자원이 필요하기 때문에, 온프렘등에서 장비를 사놓고 학습때만 사용하고 평소에 장비를 사용하지 않는 것 보다는 학습때만 클라우드에서 컴퓨팅에서 컴퓨팅 자원을 사용하는 것이 오히려 비용 효율적이라고 볼 수 있다. 하이퍼 패러미터 모델을 학습함에 있어서 모델에는 여러가지 튜닝이 가능한 패러미터가 있다. 예를 들어 학습 속도 (Learning Rate)나, 또는 뉴..

구글 클라우드 Vertex.AI Model 학습 및 모델 배포&서빙

Vertex.AI Model 학습 및 모델 배포&서빙 조대협 (http://bcho.tistory.com) 머신러닝 환경에서, 학습을 수행하기 위해서는 프레임웍에 맞는 환경 (파이썬,텐서플로우)등을 설치하고, 필요한 컴퓨팅 리소스 (CPU,GPU)등을 프로비저닝 한후, 학습을 진행해야 한다. 학습이 완료되면 서빙을 위해서 모델을 export 하고, 서빙을 위한 API 서버를 설치 한 후에, 모델을 배포해서 서빙을 해야 한다. 서빙시에는 학습시 데이터와 서빙 요창에 들어온 데이터가 크게 차이가 나지 않는지 (training & serving detection), 또는 서빙 요청이 들어온 데이터가 이전 서빙 요청이 들어온 데이터와 크게 차이가 나지 않는지 (data drift detection)등의 체크를 ..

쿠버네티스 #19 - 보안(4/4) Pod Security Policy

쿠버네티스 #19보안 4/4 - Pod Security Policy조대협 (http://bcho.tistory.com) SecurityContext가 컨테이너나 Pod의 보안 기능을 정의 하는 것이라면, Pod Security Policy (이하 PSP)는 보안 기능에 대한 정책을 정의 하는 것이다.예를 들어, 정책으로 Pod를 생성할때는 반드시 root 사용자를 사용하지 못하도록 강제한다던지, Privileged 모드를 사용못하도록 강제할 수 있다. 현재는 (2018년9월1일) 베타 상태이기 때문에 다소의 기능 변경이 있을 수 있음을 염두하고 사용하도록 하자. 개념개념이 복잡하기 때문에 먼저 기본적인 개념을 이해한 후에, 각 상세를 살펴보도록 하자. 먼저 아래 그림을 보자 PSP는 생성후에, 사용자에게..

쿠버네티스 #5 - 디스크 (볼륨/Volume)

쿠버네티스 #4Volume (디스크)조대협 (http://bcho.tistory.com) 이번 글에서는 쿠버네티스의 디스크 서비스인 볼륨에 대해서 알아보도록 하겠다.쿠버네티스에서 볼륨이란 Pod에 종속되는 디스크이다. (컨테이너 단위가 아님). Pod 단위이기 때문에, 그 Pod에 속해 있는 여러개의 컨테이너가 공유해서 사용될 수 있다.볼륨 종류쿠버네티스의 볼륨은 여러가지 종류가 있는데, 로컬 디스크 뿐 아니라, NFS, iSCSI, Fiber Channel과 같은 일반적인 외장 디스크 인터페이스는 물론, GlusterFS나, Ceph와 같은 오픈 소스 파일 시스템, AWS EBS, GCP Persistent 디스크와 같은 퍼블릭 클라우드에서 제공되는 디스크, VsphereVolume과 같이 프라이비트 ..

구글 클라우드 서버의 HTTP 포트를 SSH 로 터널링해서 로컬에서 접속하기

구글 클라우드 서버의 HTTP 포트를 SSH 로 터널링해서 로컬에서 접속하기 조대협 (http://bcho.tistory.com) 구글 클라우드 VM에 서버를 설치한 후 웹을 접근하고자 할때, 설치한 애플리케이션이 ACL (접근 제어) 처리가 안되어 있는 애플리케이션이 있을 수 있다. 특히 관리자 콘솔 같은 경우에 이런 경우가 많은데, 아파치 에어플로우 역시도 설치 후에 웹 서버를 띄우면 포트가 모두 퍼블릭으로 오픈되기 때문에 관리자만 액세스가 가능하도록 ACL 처리를 할 필요가 있다. 이를 위한 방법으로는 몇가지가 있는데 방화벽으로 특정 포트만 허용 하는 방법앞에 nginx나 apache를 넣어서 HTTP BASIC AUTH등 인증 방식을 추가하는 방법Google Cloud Identity Aware ..

세번째 책이 나왔습니다.

빠르게 훑어보는 구글 클라우드 플랫폼 오늘 세번째 책이 나왔습니다. 이번에 출간된 책은 구글 클라우드에 대해서 간략한 사용 방법을 소개한 "빠르게 훑어보는 구글 클라우드 플랫폼" 이라는 책입니다.구글에 입사한지도 이제 3개월이 막 지났는데, 막상 사람들 이야기를 들어보니, 한글 자료가 없고, 기초적인 (SSH설정)에서 부터 막히는 분들이 많아서, 구글 한국 사용자 그룹분들과 함께 간략한 소개 서적을 만들었습니다. 한빛 미디어에서 보정 및 조판 작업을 도와주셨구요. (엔지니어 출신이신 이복연님이 꼼꼼하게 봐주신 덕분에 원고 품질이 많이 올라갔습니다.) 이책은 정보 공유 차원에서 무료 EBOOK 형태로 배포됩니다.http://www.hanbit.co.kr/realtime/books/book_view.html..

사는 이야기 2016.08.29

구글 클라우드의 대용량 분산 큐 서비스인 Pub/Sub 소개 #2-node.js 샘플

구글 클라우드의 대용량 분산 큐 서비스인 Pub/Sub 소개 #2 node.js를 통하여 메세지를 보내고 받기 조대협 (http://bcho.tistory.com) node.js에서 메세지 보내고 받기 이번 글에서는 node.js를 이용하여 실제로 pub/sub에 메세지를 보내고 받도록 해보자 키 파일 준비 하기Pub/Sub에 접속하기 위해서는 보안 인증을 위해서 키 파일이 필요하다.키 파일은 구글 클라우드 콘솔에서, API manager 메뉴로 들어가서 Credential 부분에서 Create Credential을 선택하면 아래와 같은 화면이 나온다.다음으로, 메뉴에서 Service account key를 선택하여 키를 생성한다. 키가 생성이 되면 json 파일로 다운로드가 된다.여기서는 편의상 키 파..

구글 클라우드 생성하기 - VM 생성과 접속

구글 클라우드 시작하기계정 생성과 VM 생성하기조대협 (http://bcho.tistory.com) 구글 클라우드 플랫폼에서 가상머신 VM을 생성해주는 GCE (Google Compute Engine)을 통해서 간단하게 VM을 생성하고 웹서버를 띄우는 방법에 대해서 알아보자.계정 가입먼저 GCP 클라우드를 사용하기 위해서는 구글 계정에 가입한다. 기존에 gmail 계정이 있으면 gmail 계정을 사용하면 된다. http://www.google.com/cloud 로 가서, 좌측 상당에 Try it Free 버튼을 눌러서 구글 클라우드에 가입한다. 다음 콘솔에서 상단의 Google Cloud Platform 을 누르면 좌측에 메뉴가 나타나는데, 메뉴 중에서 “결제" 메뉴를 선택한후 결제 계정 추가를 통해서 ..

구글 CloudSQL(MySQL) 접속하기

구글 CloudSQL(MySQL) 접속하기조대협 (http://bcho.tistory.com) 개요 구글 클라우드에서는 MySQL의 매니지드 서비스 형태로 CloudSQL 서비스를 제공한다. 이 글에서는 CloudSQL을 서버에서 접근하는 방법과, 일반적인 MySQL 클라이언트로 접근하는 방법에 대해서 설명하고자 한다. 몇가지 배경 CloudSQL은 매니지드 MySQL서비스이다. 아마존에 RDS서비스와 같다고 보면 되는데 현재는 1세대를 서비스하고 있고, 곧 2세대가 서비스 예정이다.1세대는 500GB까지의 용량까지 지원하고 있지만 2세대는 10테라까지 지원을 한다.현재 지원되는 MySQL버전은 5.5와 5.6 지원하고, 내부 엔진으로는 InnoDB만을 제공한다. 2 세대에 기대되는 기능으로는 On Pr..