End goal to make a chatbot that will be used as a ‘friend’ for lonely people (see [login to view URL] [advanced] and chatty-app [login to view URL] [less advanced]). The chatty-app is based on GPT-2 architecture and is what the first iteration should be similar to.
The first iteration of this project will be a relatively simple web app that will communicate back and forth with a machine learning API (accessible via high performance gPRC protobufs) running on AWS lambda endpoint. The final product should be maintained 100% by amazon so I won’t need a system engineer/admin.
The GPT-2 model itself will need to be fine tuned on an empathetic dialogue corpus (which I will provide). To keep server costs low, the training should be done via GPU but once trained, the model should use CPU. I am open to any suggestions that will help keep on-going operational server costs lows (for ex. Imposing a slight delay 1-2 seconds between user questions and chatbot response). Ideally the architecture should allow for:
up/down voting of responses so that the model can adapt to each user (via beam search [ex. You could create a tensor of weights assigned to multiple outputs from each question, have the model generate multiple output sequences via beam search, and then promote or penalize the weight associated with that response based on the upvote/downvote]); and
allow for transfer learning so that the model output can be biased towards end user’s topical and stylistic preferences via Q&A script (or another method).
Some work on setting up the AWS back end has already been done (had previously worked with another developer on this). The new developer will need to look and understand what work has already been done there and continue.
Any suggestions regarding the overall app and NLP architecture are welcome.
Ongoing development should be tracked via some sort of project management system which I can have access to (such as Trello and weekly emails informing of progress would be appreciated.
Goal is to keep same developer for follow up iterations and development.
The first iteration of this project will be a web app that will communicate back and forth with a machine learning API (accessible via high performance gPRC protobufs) running on AWS lambda endpoint. Users will be able to signup, login and interact with the chatbot.