emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Help building Pen.el (GPT for emacs)


From: Shane Mulligan
Subject: Re: Help building Pen.el (GPT for emacs)
Date: Sat, 17 Jul 2021 21:27:17 +1200

Hi Eli,
It's nice to talk again.

At this stage I am only seeking to inform you of this new technology
which will be transformative to programming and open-source and show you
that we have some quick catching up to do to integrate into emacs so
Microsoft does not have a monopoly on the technology.


"I understand that EleutherAI doesn't seem to support
programming at this point, only natural language (is that true?)"

The existing models which are not optimised to do code, can still do
code well.

GPT-j is EleutherAI's code model. It's designed as a direct
competitor to codex (the Copilot model) and trained on open-source code.

The other part of Copilot is the automatic fine-tuning of the model to
enable it to learn your behaviour.

This would be trickier to distribute as a service open source and
probably isn't necessary, but GPT-j supports it.

"any number of useful features where it could help."
Name an emacs package and I can explain how GPT will affect that package.
For `dired-git-info-mode`, for instance, a model connected to GPT can
explain what files are for.

"Name a package and I can name an augmentation."
This is not fantasy. I have many examples.

I have blogged for this exact purpose, to explain to people what OpenAI
will be working on behind closed doors, to build a version for emacs.

- https://mullikine.github.io/posts/explainshell-with-gpt-3/
- https://mullikine.github.io/posts/nlsh-natural-language-shell/
- https://mullikine.github.io/posts/context-menus-based-on-gpt-3/
- https://mullikine.github.io/posts/autocompleting-anything-with-gpt-3-in-emacs/
- https://mullikine.github.io/posts/translating-haskell-to-clojure-with-gpt-3/
- https://mullikine.github.io/posts/a-natural-language-database-using-a-single-gpt-prompt/
- https://mullikine.github.io/posts/imaginary-programming-with-gpt-3/
- https://mullikine.github.io/posts/creating-a-playground-for-gpt-3-in-emacs/

"How is this different from existing translation servers?"
GPT can replace Google search, Google translate, and many other
services, and GPT can repond to requests with equal time for each
request. It can also be used like stackoverflow to answer questions to
many common problems.

"Org-brain + GPT = a mind map, which automatically generates and
suggests nodes, then lets you talk to a
> chatbot tutor on any weird topic you can think of."

Does this capability really exist?

Yes it does I have demonstated it.

- https://mullikine.github.io/posts/gpt-3-for-building-mind-maps-with-an-ai-tutor-for-any-topic/

This is on my readme for my GPT project for emacs which supports GPT-3
and EleutherAI.

https://github.com/semiosis/pen.el

At its heart, emacs is an operating system based on a tty, which is a
text stream.

emacs supports a text-only mode. This makes it ideally suited for
training a LM such as a GPT (Generative Pre-trained Transformer).

emacs lisp provides a skeleton on which NLP functions can built around.
Ultimately, emacs will become a fractal in the latent space of a future
LM (language model). A graphical editor would not benefit from this
effect until much later on.

emacs could, if supported, become the vehicle for controllable text
generation, or has the potential to become that, only actually surpassed
when the imaginary programming environment is normal and other
interfaces can be prompted into existence.

Between then and now we can write prompt functions to help preserve
emacs.

This is my inspiration for the project. It sounds like science fiction, I know.


On Sat, Jul 17, 2021 at 9:01 PM Eli Zaretskii <eliz@gnu.org> wrote:
> From: Shane Mulligan <mullikine@gmail.com>
> Date: Sat, 17 Jul 2021 14:36:15 +1200
> Cc: Stefan Kangas <stefan@marxist.se>, Emacs developers <emacs-devel@gnu.org>
>
> I think the end-goal should be to have a close collaboration with EleutherAI, who already have an
> open-source alternative to the Copilot model. It's called GPT-j.
> ελευθερία is a greek word that means Freedom. EleutherAI are open-sourcing language models.
> The problem is that there are very few people within EleutherAI using emacs and few people who can help.

I'm not sure I understand what features in Emacs this could enable.
And the references you provided don't seem to answer this question (or
maybe the answer is buried deeper than I'm prepared to dig at this
point).  I understand that EleutherAI doesn't seem to support
programming at this point, only natural language (is that true?), but
that still means there could be any number of useful features where it
could help.  But what are they?  The stuff on the EleutherAI site is
oriented towards people who work in the machine learning domain, not
to programmers who design applications that could take advantage of
those capabilities, so it's not easy to understand what these
capabilities have in store for Emacs.

Thus, description of relevant Emacs features, whether existing or
imaginary, with enough details for us to be able to discuss that
intelligently, will be appreciated.  I don't think this discussion
will be meaningful without at least some idea of what we are trying to
accomplish.

> If you'd please excuse my speculative musings, emacs has 40 years of design waiting to be augmented with
> GPT3 and I believe that emacs is way ahead of the competition. It's a gold rush really.

Why do you think Emacs is better fitted to this than other editors?
It sounds like most of the processing is done server-side, so what
exactly is the significance of Emacs being the client?

> Name a package and I can name an augmentation.

Is this based on what these services (EleutherAI in particular) can
do, or are these just unrelated fantasies?  We need ideas based on
capabilities that exist, not on what could exist years from now.  AI
history is chock-full of ideas that didn't work out.

> Take 'erc' and make it the first IRC client to automatically translate all messages into any type of dialect --
> French, Klingon or Pirate.

How is this different from existing translation servers?

> Company-mode + GPT = Copilot.

I don't see how this is true.  Copilot is not just generalized
completion, and AFAIU doesn't fit into the presentation methods used
by Company.  What am I missing?

> Org-roam + GPT = A multiversal prose editor (https://github.com/socketteer/loom)

I couldn't understand what that does, looking at the above URL.  Any
details how it works and how it helps the writer?

> Org-brain + GPT = a mind map, which automatically generates and suggests nodes, then lets you talk to a
> chatbot tutor on any weird topic you can think of.

Does this capability really exist?

Thanks.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]