タグ

programmingに関するiteのブックマーク (49)

  • 225行のコードでGPTの仕組みを理解する

    概要 LLMに関心があり、ChatGPTやtransformerの仕組みを理解したいと思っていたところ、雰囲気を掴むのにこちらの動画がとても参考になりました。 動画の内容としては、以下のコーパスを学習して、直前の数文字から次の1文字(単語ではないことに注意)予測機を作成するというものです。 この動画で完成するコードは以下で、225行しかなくとても読みやすいです。 また短いですがtransformerのエッセンスが詰まっていて勉強になりそうです。 このコードを読み解くことでGPTやtransformerがどのように動いているのか、ざっくり理解してみようと思います。 ちなみに完成するとこんな感じの文字列が生成されます。ぱっと見文章っぽいですね。 first Scitizen: He's enough; but he cannot give his friends. MARCIUS: Do yo

    225行のコードでGPTの仕組みを理解する
    ite
    ite 2023/08/29
    おお、面白そう。Transformerの図からしてよくわからなかったけど、コード見ながらの方が分かりやすそうだ
  • (数式を使わない) Transformer の直感的な説明 / 真面目なプログラマのためのディープラーニング入門

    (数式を使わない) Transformer の直感的な説明 RNN の欠点 Transformer はこれをどう解決したか Transformer の動作原理 複数の要素間の関係を考慮する (Self-Attention、自己注意) 要素の順序を考慮する (Positional Encoding、位置エンコーディング) まとめ 概要: ChatGPT などで使われている Transformer モデルは、 ニューラルネットワークの世界にいくつかの革新的なアイデアをもたらした。 記事では、プログラマに理解しやすい形でそれらのアイデアを解説する。 実際に使われている数学の詳細には触れない。 (技術的解説については元論文 Attention is All You Need か、 その注釈版である The Annotated Transformer を参照のこと。 日語では この解説 がわかり

  • OpenAI GPT-3 APIの使い方を解説

    アカウントが作成できたらログインします。 そして、Anaconda Promptなどからpipでopenaiというライブラリをインストールします。 pip install openai Google Colaboratoryでも大丈夫です。 Google Colaboratoryであれば !pip install openai ですね。 そして、以下のモジュールをインポートします。 import os import openai API keyを設定します。 API keyはログインしたあと右上の"Personal"から"View API keys"をクリックすることで確認することができます。 そのAPIを以下のようにopenai.api_keyに設定します。 API_KEY = "受け取ったAPI key" openai.api_key = API_KEY これで前準備ができました。 文

    OpenAI GPT-3 APIの使い方を解説
  • オライリーの教育的な良書「Think Python」第2版は日本語訳が無料公開されている。初心者がつまずきやすい点を先回りして説明・各章の終盤にデバッグのヒントが書いてある

    QDくん⚡️AI関連の無料教材紹介 @developer_quant 金融技術職/ChatGPT等の生成AI,機械学習,データサイエンス,プログラミングの勉強に役立つ情報を発信/良質な無料教材,スライド,動画,サイトを紹介/金融工学x機械学習ブログ運営700記事 quantcollege.net /C++/Python/Julia/Rust/Amazonアソシエイト参加中 note.com/quantdeveloper QDくん⚡️AI関連の無料教材紹介 @developer_quant オライリーの教育的な良書「Think Python」第2版は日語訳が無料公開されている。 cauldron.sakura.ne.jp/thinkpython/th… ・初心者がつまずきやすい点を先回りして説明 ・各章の終盤にデバッグのヒントが書いてある pic.twitter.com/RPX57PNyn

    オライリーの教育的な良書「Think Python」第2版は日本語訳が無料公開されている。初心者がつまずきやすい点を先回りして説明・各章の終盤にデバッグのヒントが書いてある
  • 無料コーディング練習所 | 未経験からWebデザイナーへ!【2024年版】

    『無料コーディング練習所』では、完全無料のコーディング教材を提供しています。 入門編から上級編まで6サイトをコーディングすることで、 HTMLCSS・jQueryの基礎スキルがしっかり身につくカリキュラムになっています。 デザインカンプと完成版コーディングデータ付きです。 この教材は制作会社の新人コーダーの教育にも使用されています。 さぁ、楽しみながら一緒に勉強していきましょう♪

    無料コーディング練習所 | 未経験からWebデザイナーへ!【2024年版】
    ite
    ite 2022/04/27
    おお。楽しそう。やってみたい。
  • プログラムにコメント書かない文化もあるよって話|NZ MoyaSystem

    以下の記事を読んで。 530000micro.hatenablog.com 僕が勤めている会社では、原則、プログラムにコメントを書かないのがルールです。 人生で初めてプログラムに触れてからこのかた、プログラムには必ずコメントを書けと指導されて来ましたし、自分自身も、後輩たちにちゃんとコメント書けよと言い聞かせてきました。そんなわけで、最初に全然コメントのないソースコードの山を見たときは、正直「ゲッ、なんじゃこりゃ……」と面らったのは確かです。 ところが、「なぜうちのプログラムにはコメントがないのか?」と同僚に尋ねてみると、実に納得の行く回答が返ってきたのでした。 なぜコメントが必要なプログラムを書くのか? 同僚いわく、「コメントが無くても読めるようなプログラムを書け」という思想が根底にあるのだそう。 適切に関数や変数が命名され、スコープがきちんと管理され、ロジックの流れが整理されているコ

    プログラムにコメント書かない文化もあるよって話|NZ MoyaSystem
    ite
    ite 2016/04/23
    コードがどんなに良くても、それは基本的にHowを書くためのもの。Whyを書けるのはコメントで、それは設計やデザインに近い。プログラムにコメント書かない文化があるのは結構だが、私はそこに関わりたくない
  • IT勉強会の参加に必要なもの、とりあえず「勢い」 - @IT自分戦略研究所

    学生サークルの域を越え、プロの技術者コミュニティに参加してみないか! 高い技術に触れられることはもちろん、就職前にIT業界IT企業に詳しくなれる、働くエンジニアの生の声が聞ける、世代を超えた縦のつながりを築けるなど、学生がIT勉強会に参加するメリットは大いにある。 連載では、IT勉強会に参加したことのない学生の皆さんに向け、現役大学生として実際にいくつかのIT勉強会に参加している筆者らが、IT勉強会とはどのようなところかを学生の視点で紹介します。 第2回は、IT勉強会に参加するメリットについて、筆者の経験を基にお話します。第1回の記事「IT勉強会はサークルと同じくらい魅力的!」で、「IT勉強会って面白そうだな」と思われた方はいらっしゃるでしょう。しかし、まだまだ不安を抱えている方が多いのではないでしょうか。今回は皆さんが抱かれている不安を解消するようなお話をします。 ■面白そうなIT

    ite
    ite 2014/10/12
    本当にガンガン行ったほうが良いよ。大都市の近郊なら毎週あるだろうし、まともな技術者ほど学生を邪険にはしない。自分も無知だった時期があるからね。知識がなくても勉強したい分野なら参加すると将来の財産になる
  • 常識を覆すソートアルゴリズム!その名も"sleep sort"! - Islands in the byte stream (legacy)

    TwitterのTLで知ったのだが、少し前に海外掲示板で"sleep sort"というソートアルゴリズムが発明され、公開されたようだ。このアルゴリズムが面白かったので紹介してみる。 Genius sorting algorithm: Sleep sort 1 Name: Anonymous : 2011-01-20 12:22 諸君!オレは天才かもしれない。このソートアルゴリズムをみてくれ。こいつをどう思う? #!/bin/bash function f() { sleep "$1" echo "$1" } while [ -n "$1" ] do f "$1" & shift done wait example usage: ./sleepsort.bash 5 3 6 3 6 3 1 4 7 2 Name: Anonymous : 2011-01-20 12:27 >>1 なん…だと

    常識を覆すソートアルゴリズム!その名も"sleep sort"! - Islands in the byte stream (legacy)
    ite
    ite 2011/05/21
    ネタとして面白がってたけど、冷静に考えてみると「極端な並列化を前提とすることで、ものすごく簡単になる問題が存在する」ということの良い例に思えてきた。他にも何かできそう。
  • まとめ:なぜ人月見積がダメか - Zerobase Journal

    社団法人日情報システム・ユーザー協会(JUAS)発行の『ソフトウェアメトリックス調査2007』を取り寄せて読んでみましたよ。SI関係の人は必読ですよね。私はいままで知らずに損していました。 そんなこともあり、年の瀬でもあり、今回の記事では表題の件「なぜ人月見積がダメか」について、現時点での総括をします。 人月見積方式の弊害に対する言論 「ユーザー企業は出席をとるな」,日IBMの大歳社長が提言:ITpro (2001/08/31) 「日の商慣習でぜひとも変えて欲しいのは,ユーザー企業が我々の技術者の出席をとることだ。出席をとられると我々は開発の生産性を挙げようとする努力をしなくなる。1000人でできる仕事を500人でやってのけると,売り上げが半分になってしまうからだ。技術者の頭数ではなく,成果物について対価を払っていただける商慣習に変えていくよう,広く呼びかけたい」。日IBMの大歳卓

  • プログラミング言語人気TOP10の簡易解説

    0-1. 前書き この世にはたくさんのプログラミング言語が存在します。Wikiepdiaのプログラミング言語一覧を見ると、実に200個以上というわけの分からない数の言語が並んでいたりします。 【参考URL】プログラミング言語一覧 - Wikipedia http://ja.wikipedia.org/wiki/%E3%83%97%E3%83%AD%E3%82%B0%... 200の中にはほとんど使われてない言語も混じってるので、実際に仕事でざくざく使われている言語は20とか30とかそういうオーダーなのですが、それでも1人の人間が把握するにはちょっと多過ぎる数です。 記事では、そうした有り余るプログラミング言語の海の中で「どれを勉強したらいいの?」とか「どれを採用するのが適切?」という悩みをお持ちの方が「よし、この言語に決めた!」と自信を持って決断できるように背中を押すことを目的として書か

  • 自分でWEBサービスを作りたいと思っている人へ

  • 複数人(2-3人)でウェブサービスを開発するコツ - リート開発者ブログ

    こんにちは。開発ブログ言いだしっぺの satoshi です。リートでは、AddClips と Lancers というサービスが現在の主力サービスですが、AddClips は1人のエンジニアが担当し、Lancers は2-3人 のエンジニアが開発を担当しています。 当たり前ですが、1人と3人では開発スタイルが大きく異なり、気をつけるポイントも全く違います。当たり前の事が多いのですが、リートで特に気をつけていることをご紹介できればと思います。 開発環境 VMware ESXi を使って開発環境は5秒で用意する 通常、VMwareはLinuxWindows上で動作しますが、VMware ESXi はその上で直接、複数のVmware(仮想化マシン)を立ち上げることができます。 Vmwareを導入するために、Linuxを導入したりする必要はなく、その容量も32MBとコンパクト。しかも無償で利用可能

    ite
    ite 2010/12/02
    大事だなぁ。
  • JavaScript入門講座

    今日の内容 JavaScriptを勉強し始めくらいの人を対象にしたJavaScript入門講座的なもの 文法とかは調べればわかるのでふれません 一人で勉強してもわからなそうな概念などを重点的に説明します ライブコーディングするのでJavaScriptってこんな感じて作るんだなーというのがわかってもらえればと アジェンダ JavaScriptを勉強する前に JavaScriptの基礎知識 ライブコーディング part1 jQueryの基礎知識 ライブコーディング part2

    ite
    ite 2010/11/21
    (function() { ... })(); とか、意味わからなかった上に調べようとしても検索できないので、なんとなくそのままになってた。良い入門だと思う。
  • 1時間でツイッターサービスを作ろう!

    はじめに どうもKRAYの芳賀です。 今日はツイッターサービスをスピーディーかつ無料で作るお話です。 僕は日頃趣味でツイッターサービスを作っているのですが、アイデアを着想したその日のうちにプロトタイプを作って動かすことができるくらいにノウハウが溜まってきました。 仕事が終わってからのプライベートな時間だけでも、1週間から1か月もあれば1つサービスがリリースできる感覚がつかめたので、必要最低限の機能を備えたサービスを短時間で作れないだろうか?と時間を計測しつつ実践してみたところ、なんと1時間で完成できたので、その手順を紹介します。 開発の流れ まずは開発の流れを説明します。 ツイッターアカウントの用意 まずツイッターのアカウントが必要になるので、まだ持っていなければ取得しましょう。サービス用に改めて取得してもいいですね。 サーバの用意 作成したウェブアプリを設置するサーバを準備します。PHP

    1時間でツイッターサービスを作ろう!
  • HTMLをDBみたいに使えるスゴイライブラリ『htmlSql』を CakePHPで使う - h2ospace - builder by ZDNet Japan

    APIRSSなどを提供しているサイトは、情報を簡単に扱うことができますが、例えば Yahoo!の検索結果とか、mixiのニュースとか、あるサイトの一部を取り出したいことってよくあります。(とはいえ、著作権違反には注意 そんな時、PHPのライブラリである「htmlSql」を利用すると便利。このライブラリに、ファイルでもURLでも文字列でも、HTMLで作られたものなら何でも与えると、解析して取り出しやすくしてくれます。しかも、その取り出し方はSQL! 例えば、「id属性が’test’の p要素の内容を取り出したい」という場合には、次のようなSQLを使います。 SELECT text FROM p WHERE $id=="test" 超パワフル。ということで、これを CakePHPで利用するためのテクニック。 まずは、ダウンロードしたファイルの中から次のファイルを「app/vendors」フォ

  • ASCII.jp:Twitter APIとGAEでおもしろWebサービスを作ろう! |Twitter&Google App Engineで始めるWebプログラミング入門

    みなさんこんにちは。ふむふむソフトの飯島です。 さっそくですが、みなさんはTwitter APIを使ってプログラミングしていますか? すでに星の数ほどTwitterアプリやWebサービスはありますし、バリバリ使っている方も多いと思いますが、「知っているけれど、なかなか触るチャンスがなくて……」という方もたくさんいるのではないでしょうか? そこで今回から5回にわたって、Twitter APIを使ったWebサービスのプログラミングについて解説したいと思います。ただAPIの使い方を解説するだけでは面白くないですから、Webサービスを公開するサーバーとしてグーグルのクラウドサービス「Google App Engine(以下GAE)」を使い、自分でサーバーを用意することなく全部無料で遊んでみましょう。 連載では、サンプルコードのダウンロードはもちろん、Twitter APIの準備からGAEの準備、

    ASCII.jp:Twitter APIとGAEでおもしろWebサービスを作ろう! |Twitter&Google App Engineで始めるWebプログラミング入門
  • App Engineではどの言語を使えばいいのか - ひがやすを技術ブログ

    App Engineで使える言語は基的にはPythonJavaです。それでは、どちらを選ぶのが良いのでしょうか。 それ以外の言語の人向けの話は後から出てくるのでしばらくこのままお読みください。 趣味ならば単に好きなものを選ぶだけでいいのですが、仕事で使うためには、長所と短所をきちんと把握した上で選ぶ必要があります。また、ここでの話は言語としての一般的な話ではなくApp Engineで使うとき限定の話としてお読みください。 まず安定度ですが、インフラ部分の安定度は、どちらも基的に同じです。もしかすると、まったく同じものを使っているのかもしれません。 その上で動くAPIの部分は、インフラと直接結びついている低レベルな部分と低レベルなAPIの上に構築された高レベルな部分とに分けて考える必要があります。 低レベルなAPIはLLAPIと呼ばれたりしますが、安定度は、PythonJavaも同じ

    App Engineではどの言語を使えばいいのか - ひがやすを技術ブログ
  • プログラマーには、コーディングの生産性で10倍、コードレビューの速度では6倍もの能力差があるという

    プログラマーの生産性をテーマにした有名な著書「ピープルウェア」には、最も優秀なプログラマと最低の成績のプログラマのあいだには約10倍にあたる生産性の違いがある、というデータが出てきます。 これは、1984年から1986年にかけて92社、延べ600人が参加したプログラミングコンテストのデータを分析した結果から導き出された結果で、課題として与えられたプログラミング作業の開始からコンパイル時のエラーを消すところ(第1チェックポイント)へ到達するまでにかかった時間を比べています。 グラフを見ても分かるように、最優秀者と最低者のあいだには作業時間にして約10倍のひらきがあります。また最優秀者は平均の約2.5倍の生産性だそうです。そして、COBOLやFortranのような旧世代のプログラミング言語と、PascalやCのような現代的なプログラミング言語でのコーディングでの生産性はほとんど同じであったそう

    プログラマーには、コーディングの生産性で10倍、コードレビューの速度では6倍もの能力差があるという
    ite
    ite 2010/03/14
    Cの時代で10倍という話。単純にコーディングのスピードなら、LL使えるか否かだけでさらに2~3倍違いそうだ。そしてコードの価値が何倍かを計算しようとするとNaNが返ることになるだろう。
  • PHP、Perl、Ruby、C、C++等40以上の言語をブラウザで実行できるようになるjQueryプラグイン「Run This」:phpspot開発日誌

    PHPPerlRuby、C、C++等40以上の言語をブラウザで実行できるようになるjQueryプラグイン「Run This」 2010年03月11日- Run This! PHPPerlRuby、C、C++等40以上の言語をブラウザで実行できるようになるjQueryプラグイン「Run This」。 ブラウザ内の<pre>コードで記述した部分を、その場でそのまま動かすことができ、うまくサイトに組み込めばより訪問者にとってわかりやすいページを作ることが出来そうです。 例えば、PHPの入門サイトなんかでは挙動を一瞬で確認できてしまいます。 具体的には以下の言語に対応しています。 Ada, Assembler, AWK, Bash, bc, Brainf**k, C, C#, C++, CLIPS, Clojure, COBOL, Common Lisp, D, Erlang, Forth

    ite
    ite 2010/03/11
    面白そう。
  • 第3回 勉強会に行ったら世界が広がりました | gihyo.jp

    連載では、現在執筆中の技評SE選書には掲載していない、オリジナルのコンテンツをお届けしています。IT技術者が勉強をする場合のゴールとして、技術を身につけて自由自在にその技術を使えるようにする、というものがあると思います。今回はそれとは別の到達点として「転職」を取り上げたいと思います。勉強会を通じて適職を見つけ、転職をした人が周りに何人もいます。彼らを見てみると、転職が成立した条件として、次の3項目の共通項がありました。 実力、もしくは将来のための勉強の習慣を身につけた 自分の実力や将来性をきちんとアピールできた 受け入れ側のニーズとマッチした 今回は、勉強会に参加し転職のチャンスを掴んだお二人と、その転職先の社長さんを加えた三人の方々に、勉強や勉強会について語っていただきました。話に夢中で写真を撮り忘れました。文字ばかりですみません。 佐藤治夫さん(twitter:@haru860)株式

    第3回 勉強会に行ったら世界が広がりました | gihyo.jp