digraph G {
    comment="http://magjac.com/graphviz-visual-editor/"
    compound = true;
    fontname="Helvetica,Arial,sans-serif"
    node [fontname="Helvetica,Arial,sans-serif", shape=box, color=blue]
    edge [fontname="Helvetica,Arial,sans-serif"]


    word2vec [label="Word2Vec"];

    transformer [label="Transformer\n#Google\n#model"];

    bert [label="BERT\n#Google\n#llm"];

    albert [label="ALBERT\n#Google"];

    gpt1 [label="GPT1\n#OpenAI\n#llm"];

    gpt2 [label="GPT2\n#OpenAI\n#llm"];

    gpt3 [label="GPT3\n#OpenAI\n#llm"];

    gpt4 [label="GPT4\n#OpenAI\n#llm"];

    gptj [label="GPT-J\n#llm"];

    lambda [label="LaMDA\n#Google"];

    palm [label="PaLM\n#Google"];

    chinchilla [label="Chinchilla\n#Google"];

    llama [label="LLaMA\n#Meta"];

    llama2 [label="LLaMA-2\n#Meta"];

    alexnet [label="AlexNet\n#model\n#cv"];
  
    resnet [label="ResNet\n#cv"];
  
    gan [label="GAN\n#cv"];
  
    vit [label="ViT\n#cv"];
  
    pathways [label="Pathways\n#Google\n#infra"];
  
    subgraph cluster0 {
        label = "Encoder Only";
        style = filled;
        color = lightgrey;

        bert albert;
    }

    subgraph cluster1 {
        label = "Decoder Only";
        style = filled;
        color = lightgrey;

        gpt1 gpt2 gpt3 gpt4 gptj;
        lambda palm chinchilla;
        llama llama2;
    }

    transformer -> gpt1 [lhead=cluster1];
    gpt1 -> gpt2 -> gpt3 -> gpt4;
    transformer -> bert [lhead=cluster0];
    bert -> albert;
    llama -> llama2;
    transformer -> vit;
}