Author Archives: Byung Hoon Ahn

[TVM] Adding New Relay Operation

Official Guide: https://tvm.apache.org/docs/dev/relay_add_op.html

While going through this, it is important to have more context.

Attrs and Type Relation

Attrs are used to provide interface for the final interface regarding various attributes of the operator.

Type Relations are dealt with using functions.

Defining Compute / Strategy of the Operation

It seems that the operator can be defined in various ways such as te.compute or tir.
I want to see how the weights are defined… I think this can be better observed in operations like Convolution or Matmul

Importantly, to lower Relay operators to the implementations defined in TOPI library, a compute and schedule function need to be registered to each relay operator. However, they are usually specialized for each target. It is important that we provide some schedule for that so that AutoTVM or AutoScheduler can optimize the operations.

https://tvm.apache.org/docs/dev/relay_op_strategy.html

refer to schedule_conv3d_winograd_weight_transform in python/tvm/topi/generic/nn.py#L209-243

Other things are about creating the Python Hooks and stuff, so lets ignore this

[Deep Learning] Self-Supervised Learning

The motivation is quite straightforward. Producing a dataset with clean labels is expensive but unlabeled data is being generated all the time. To make use of this much larger amount of unlabeled data, one way is to set the learning objectives properly so as to get supervision from the data itself.

The self-supervised task, also known as pretext task, guides us to a supervised loss function. However, we usually don’t care about the final performance of this invented task. Rather we are interested in the learned intermediate representation with the expectation that this representation can carry good semantic or structural meanings and can be beneficial to a variety of practical downstream tasks.

Broadly speaking, all the generative models can be considered as self-supervised, but with different goals: Generative models focus on creating diverse and realistic images, while self-supervised representation learning care about producing good features generally helpful for many tasks.

Images-Based

Many ideas have been proposed for self-supervised representation learning on images. A common workflow is to train a model on one or multiple pretext tasks with unlabelled images and then use one intermediate feature layer of this model to feed a multinomial logistic regression classifier on ImageNet classification. The final classification accuracy quantifies how good the learned representation is.

Generative Modeling

The pretext task in generative modeling is to reconstruct the original input while learning meaningful latent representation.

Contrastive Learning

Contrastive Predictive Coding (CPC) is an approach for unsupervised learning from high-dimensional data by translating a generative modeling problem to a classification problem.

[투자] 미국 증시

S&P 500

미국의 신용평가회사 Standard & Poor’s 에서 개발한 미국의 주가지수. 다우존스, 나스닥과 더불어 미국의 3대 주가지수이며, 실질적으로 미국을 대표하는 주가지수이다.

  • 1957부터 시작 –> 1982에 재산출
  • 기존에는 누욕증권거래소 종목에서 대형주를 추렸으나, 나스닥 출범 이후 나스닥 대형주도 포괄

다우 존스

미국의 Dow Jones에서 발표하는 주가지수. 세계 경제를 대표하는 기업들이 많이 포함되어 있다.

  • 1884에 시작
  • 오늘날 다우지수는 미국의 증권거래소에 상장된 30개의 우량기업 주식 종목들로 구성된다. 주식분할이나 다른 조정의 효과를 상쇄시키기 위하여 다우지수는 주가 수익룰의 산술평군을 사용한다. 개별기업의 수익룰의 총합을 총 기업수로 나누는 방식의 수익룰 평군 방식으로 지수를 사용한다. 기존 지수는 전일 지수를 사용하여 산출한다.
  • Vanguard 그룹이 다우지수의 30기업 중 17곳의 최대주주

나스닥

전미 증권업 협회 주식시세 자동 통보 체계
National Association of Securities Dealers Automated Quotations (NASDAQ)

뉴욕 월 가에 위치해있는 미국의 주식시장 중 하나. 원래는 장외시장이었는데 무섭게 성장하면서 장내시장으로 인정받게 되었다. 시가총액 기준 세계 2위의 증권거래소다. 벤처기업을 위한 시장.

[투자] ETF

ETF는 Exchange Traded Fund의 약자.
상장 개방형 펀드 또는 단위 투자신탁. 주로 주가지수나 채권가 지수 등 특정 지수를 추종한다.

  • 기초 자산이 오르면 ETF 가격도 올라가고 떨어지면 그만큼 떨어진다.
  • 인버스는 주식 시장이 하락할 때 수익을 얻을 수 있다. 이 원리는 공매도 등을 통해서 가능한 것…
  • 레버리지는 등락룰에 수치를 곱해서 리스크와 수익룰을 높이는 것이다.
  • 인버스 레버리지는 증시 하락의 배로 리스크와 수익룰을 높이는 것이다. 곱버스라 부르기도 함.

[Computer Systems] Storage

Storage Area Network (SAN): 서버 용량이 부족할 때 디스크를 물리적으로 추가하는 불편함을 해소하기 위해 SAN 고안. 스토리지를 네트워크에 연결해서 logical volume을 형성. 사용자는 LUN (Logical Unit Number)라는 고유번호로 디스크 드라이브에 연결. SAN Switch 필요. Block 단위로 저장.

SAN Storage Protocol: iSCSI, Fibre Channel, iSER (iSCSI Extensions for RDMA)
– Fibre Channel: Gigabit speed (up to 128Gbps), Simpler than TCP/IP, Require Host Bus Adapter
– FCoE: Fiber Channel Frames over Ethernet. Can be used over TCP/IP infrastructures.
– iSCSI: SCSI over LAN/WAN

SAN Application: Database, Virtualized Environment, …

Network Attached Storage (NAS): 이더넷을 통해 연결. 설치와 유지관리 용이, 하지만 네트워크 자원을 공유하기 때문에 대역폭에 한계. File 단위로 저장.

NAS Storage Protocol: NFS, SMB/CIFS, FTP, HTTP, AFP
– NFS: First Distributed File System.
– SMB/CIFS: Allows users to reach remote locations. CIFS is MS version of SMB
– RDMA: Do not pass CPU for memory access. Reduced delay.
– Infiniband: Supports RDMA, little delay, and up to 50Gbps bandwidth…

NAS Application: File Sharing, Virtualized Environment, …

Scale-up vs Scale-out: Scale-out is usually better for 확장성, 비용, 장애, but 아키텍처에 대한 높은 이해도 요구, 소프트웨어 가격이 비쌈, 성능 (하이엔드에 비해 부족), 케이블링 복잡. Online Analytical Programming (OLAP) 에서는 Scale-out이 더 효율적, Online Transaction Processing (OLTP) 에서는 Scale-up이 적합

중복제거…

데이터 티어링…

RAID… Erasure Coding…