note engineers’ notes

101

hierarchical softmaxについて

hierarchical softmaxとは word2vecのskip-gramモデルやGNNのrandom walkモデルでは,損失関数にsoftmaxを計算する場合があります.その時に,word2vecでは単語の数がたくさんあり,GNNではnodeの数がたくさんあり,softmaxの計算は非常に時間がかかります. 単純にsoftmaxを計算するのではなく近似…

noteの開発組織はこの1年でどう変わった? #noteエンジニアトーク レポート

noteはこの2年で社員数が約3倍に増え、現在では100名を超える規模になりました。アクセス数やMAUなども右肩上がりでサービスとしても成長を続けています。 しかし、社員が増えることや会社が成長していくことは必ずしもすべてが良い作用に働くとは限りません。会社は生き物であり、成長とともに組織は…

JAWS DAYS 2021に登壇しました

先日3/20に行われたJAWS DAYS 2021 に登壇させていただきました。 発表資料はこちら。(GoogleSlideへ飛びます) AWS Codeシリーズで実現するEKSのCI/CDパイプライン 発表の様子 当日はオンラインで500名弱ほどの方々に視聴していただきました。 めちゃくちゃ緊張して途中、拙いところもあったかも…

PyTorch Moduleに紐づく定数のtensorを定義する

環境 python 3.6.6IPython 7.1.1torch==1.7.0 目的 PyTorchで`torch.nn.Module`に紐づく定数を定義したい場合があるとします.`torch.nn.parameter.Parameter`で定義せず`torch.tensor`に`require_grad=False`にすれば,`optimizer`のstepメソッドでは学習はされませんが,toメソッドでGPUに乗せた…

noteのアプリエンジニアがわいわいするラジオ#10

noteのパフォーマンス改善 - サービスの成長によるJSのファイルサイズ増加とN+1クエリ問…

noteに投稿された記事数は、累計で昨年同時期比2倍以上に増加。サービスの成長とともに、いままでは問題のなかったコードやクエリにも異変が起きはじめています。そこで、noteでは「パフォーマンス改善週間」という取り組みを行いました。1週間限定で開発チームの有志が横断的に集まり、ページ表示速度…

エンジニアとデザイナーに聞く、外部サービス連携の舞台裏

noteは幅広いクリエイターやユーザーが集まり、さまざまなコンテンツと出会える場所を目指しています。そのためには、テキスト、音声、動画、画像、他SNSの投稿などあらゆる表現を集約できる必要があります。そこでnoteではより豊かな表現ができるように、多種多様な外部サービスとの連携を行っている…