learning to summarize from human feedback
by openai
the authors collect a high-quality dataset of human comparisons between summaries, train a model to predict the human-preferred summary & use that model as a reward function to fine-tune a summarization policy using reinforcement learning. they apply this method to a version of the tl;dr dataset of reddit posts & find that their models significantly outperform both human reference summaries & much larger models fine-tuned with supervised learning alone
the researchers focused on english text summarization, as it’s a challenging problem where the notion of what makes a "good summary" is difficult to capture without human input
these models also transfer to cnn/dm news articles, producing summaries nearly as good as the human reference without any news-specific fine-tuning. furthermore, they conduct extensive analyses to understand the human feedback dataset & fine-tuned models. they establish that their reward model generalizes to a new dataset & that optimizing their reward model results in better summaries than optimizing rouge according to humans
blogpost: https://openai.com/blog/learning-to-summarize-with-human-feedback/
paper: https://arxiv.org/abs/2009.01325
code: https://github.com/openai/summarize-from-feedback
#nlp #rl #summarize
by openai
the authors collect a high-quality dataset of human comparisons between summaries, train a model to predict the human-preferred summary & use that model as a reward function to fine-tune a summarization policy using reinforcement learning. they apply this method to a version of the tl;dr dataset of reddit posts & find that their models significantly outperform both human reference summaries & much larger models fine-tuned with supervised learning alone
the researchers focused on english text summarization, as it’s a challenging problem where the notion of what makes a "good summary" is difficult to capture without human input
these models also transfer to cnn/dm news articles, producing summaries nearly as good as the human reference without any news-specific fine-tuning. furthermore, they conduct extensive analyses to understand the human feedback dataset & fine-tuned models. they establish that their reward model generalizes to a new dataset & that optimizing their reward model results in better summaries than optimizing rouge according to humans
blogpost: https://openai.com/blog/learning-to-summarize-with-human-feedback/
paper: https://arxiv.org/abs/2009.01325
code: https://github.com/openai/summarize-from-feedback
#nlp #rl #summarize
NVidia released a technology to change face alignment on video
Nvidia has unveiled AI face-alignment that means you're always looking at the camera during video calls. Its new Maxine platform uses GANs to reconstruct the unseen parts of your head — just like a deepfake.
Link: https://www.theverge.com/2020/10/5/21502003/nvidia-ai-videoconferencing-maxine-platform-face-gaze-alignment-gans-compression-resolution
#NVidia #deepfake #GAN
Nvidia has unveiled AI face-alignment that means you're always looking at the camera during video calls. Its new Maxine platform uses GANs to reconstruct the unseen parts of your head — just like a deepfake.
Link: https://www.theverge.com/2020/10/5/21502003/nvidia-ai-videoconferencing-maxine-platform-face-gaze-alignment-gans-compression-resolution
#NVidia #deepfake #GAN
Forwarded from Binary Tree
Python 3.9.0 is released!
Major new features of the 3.9 series, compared to 3.8
Some of the new major new features and changes in Python 3.9 are:
- PEP 573, Module State Access from C Extension Methods
- PEP 584, Union Operators in dict
- PEP 585, Type Hinting Generics In Standard Collections
- PEP 593, Flexible function and variable annotations
- PEP 602, Python adopts a stable annual release cadence
- PEP 614, Relaxing Grammar Restrictions On Decorators
- PEP 615, Support for the IANA Time Zone Database in the Standard Library
- PEP 616, String methods to remove prefixes and suffixes
- PEP 617, New PEG parser for CPython
- BPO 38379, garbage collection does not block on resurrected objects;
- BPO 38692, os.pidfd_open added that allows process management without races and signals;
- BPO 39926, Unicode support updated to version 13.0.0;
- BPO 1635741, when Python is initialized multiple times in the same process, it does not leak memory anymore;
- A number of Python builtins (range, tuple, set, frozenset, list, dict) are now sped up using PEP 590 vectorcall;
- A number of Python modules (_abc, audioop, _bz2, _codecs, _contextvars, _crypt, _functools, _json, _locale, operator, resource, time, _weakref) now use multiphase initialization as defined by PEP 489;
- A number of standard library modules (audioop, ast, grp, _hashlib, pwd, _posixsubprocess, random, select, struct, termios, zlib) are now using the stable ABI defined by PEP 384.
#python, #release
Major new features of the 3.9 series, compared to 3.8
Some of the new major new features and changes in Python 3.9 are:
- PEP 573, Module State Access from C Extension Methods
- PEP 584, Union Operators in dict
- PEP 585, Type Hinting Generics In Standard Collections
- PEP 593, Flexible function and variable annotations
- PEP 602, Python adopts a stable annual release cadence
- PEP 614, Relaxing Grammar Restrictions On Decorators
- PEP 615, Support for the IANA Time Zone Database in the Standard Library
- PEP 616, String methods to remove prefixes and suffixes
- PEP 617, New PEG parser for CPython
- BPO 38379, garbage collection does not block on resurrected objects;
- BPO 38692, os.pidfd_open added that allows process management without races and signals;
- BPO 39926, Unicode support updated to version 13.0.0;
- BPO 1635741, when Python is initialized multiple times in the same process, it does not leak memory anymore;
- A number of Python builtins (range, tuple, set, frozenset, list, dict) are now sped up using PEP 590 vectorcall;
- A number of Python modules (_abc, audioop, _bz2, _codecs, _contextvars, _crypt, _functools, _json, _locale, operator, resource, time, _weakref) now use multiphase initialization as defined by PEP 489;
- A number of standard library modules (audioop, ast, grp, _hashlib, pwd, _posixsubprocess, random, select, struct, termios, zlib) are now using the stable ABI defined by PEP 384.
#python, #release
Binary Tree
Python 3.9.0 is released! Major new features of the 3.9 series, compared to 3.8 Some of the new major new features and changes in Python 3.9 are: - PEP 573, Module State Access from C Extension Methods - PEP 584, Union Operators in dict - PEP 585, Type Hinting…
PEP 584 — new operator "|" that can be used to merge two dictionaries
Ford is reported to work on a two-leg human-shaped delivery robot
#RL #bostondynamics #delivery #autonomousrobots
#RL #bostondynamics #delivery #autonomousrobots
Data Science by ODS.ai 🦜
Ford is reported to work on a two-leg human-shaped delivery robot #RL #bostondynamics #delivery #autonomousrobots
By the way we appreciate comments in English, so thank you for taking part in the discussions.
Forwarded from PDP-11🚀
NIVIDIA DPU
by Forbes
⚡️Domain specific processors (accelerators) are playing greater roles in off-loading CPUs and improving performance of computing systems
🤖The NVDIA BlueField-2 DPU( Data Processor Units), a new domain specific computing technology, is enabled by the company’s Data-Center-Infrastructure-on-a-Chip Software (DOCA SDK) Smart NIC. . Off-loading processing to a DPU can result in overall cost savings and improved performance for data centers.
👬 NVIDIA’s current DPU lineup includes two PCIe cards BlueField-2 and BlueField-2X DPUs. BlueField-2 based on ConnectX®-6 Dx SmartNIC combined with powerful Arm cores. BlueField-2X includes all the key features of a BlueField-2 DPU enhanced with an NVIDIA Ampere GPU’s AI capabilities that can be applied to data center security, networking and storage tasks
Read more about DPUs:
- Product page
- Mellanox product brief
- Servethehome
- Nextplatform
- Nextplatform
by Forbes
⚡️Domain specific processors (accelerators) are playing greater roles in off-loading CPUs and improving performance of computing systems
🤖The NVDIA BlueField-2 DPU( Data Processor Units), a new domain specific computing technology, is enabled by the company’s Data-Center-Infrastructure-on-a-Chip Software (DOCA SDK) Smart NIC. . Off-loading processing to a DPU can result in overall cost savings and improved performance for data centers.
👬 NVIDIA’s current DPU lineup includes two PCIe cards BlueField-2 and BlueField-2X DPUs. BlueField-2 based on ConnectX®-6 Dx SmartNIC combined with powerful Arm cores. BlueField-2X includes all the key features of a BlueField-2 DPU enhanced with an NVIDIA Ampere GPU’s AI capabilities that can be applied to data center security, networking and storage tasks
Read more about DPUs:
- Product page
- Mellanox product brief
- Servethehome
- Nextplatform
- Nextplatform
Waymo started driverless tests in Phoenix
This #Google company plans to expand tests to cover whole state later.
Blog: https://blog.waymo.com/2020/10/waymo-is-opening-its-fully-driverless.html
Redditers’ experience: https://www.reddit.com/r/waymo/comments/j7rphd/4_minute_full_video_in_waymo_one_no_driver_short/
#autonomousrobots #selfdriving #rl #DL
This #Google company plans to expand tests to cover whole state later.
Blog: https://blog.waymo.com/2020/10/waymo-is-opening-its-fully-driverless.html
Redditers’ experience: https://www.reddit.com/r/waymo/comments/j7rphd/4_minute_full_video_in_waymo_one_no_driver_short/
#autonomousrobots #selfdriving #rl #DL
StyleGAN2 with adaptive discriminator augmentation (ADA)
Github: https://github.com/NVlabs/stylegan2-ada
ArXiV: https://arxiv.org/abs/2006.06676
#StyleGAN #GAN #DL #CV
Github: https://github.com/NVlabs/stylegan2-ada
ArXiV: https://arxiv.org/abs/2006.06676
#StyleGAN #GAN #DL #CV
Open cool NOT Kaggle contest – AIJ Contest 2020 🎉
◼️ Digital Peter: Recognition of Peter the Great’s manuscripts
October 9 – November 8
Digital Peter is an educational task with a historical slant created on the basis of several AI technologies (CV, NLP, and knowledge graphs). The task was prepared jointly with the Saint Petersburg Institute of History of the Russian Academy of Sciences, Federal Archival Agency of Russia and the Russian State Archive of Ancient Acts.
Participants are invited to create an algorithm for line-by-line recognition of manuscripts written by Peter the Great.
◼️ NoFloodWithAI: Flash floods on the Amur river
October 9 – November 1
NoFloodWithAI is a special track with a socially important theme prepared jointly with the Ministry of Emergency Situations, Ministry of Natural Resources and Rosgidromet of Russia.
Participants are invited to develop an algorithm for short-term forecasting of water levels in the Amur River for the following settlements: Dzhalinda, Blagoveshchensk, Innokentievka, Leninskoye, Khabarovsk, Komsomolsk-on-Amur, Nikolaevsk-on-Amur for 10 days in advance in order to prevent emergency situations in Russia’s regions. The results of the contest will be reused to mitigate environmental risks and minimize economic damage wrought on the regions.
◼️ AI4Humanities: ruGPT-3
October 16 – November 1
It is a track developed especially for those familiar with artificial neural networks. It will help to learn about a promising ruGPT-3 technology able to generate very complex meaningful texts based on just one request made in natural human language. For example, it can help you answer most questions included in basic or unified national exams (OGE or EGE), write Java code at the request "Please make a website for the online shop", come up with a business idea for a new startup, or write new popular science articles.
more on the project page: https://ods.ai/tracks/aij2020
#ods #aij #contest #peter #floods #rugpt3
◼️ Digital Peter: Recognition of Peter the Great’s manuscripts
October 9 – November 8
Digital Peter is an educational task with a historical slant created on the basis of several AI technologies (CV, NLP, and knowledge graphs). The task was prepared jointly with the Saint Petersburg Institute of History of the Russian Academy of Sciences, Federal Archival Agency of Russia and the Russian State Archive of Ancient Acts.
Participants are invited to create an algorithm for line-by-line recognition of manuscripts written by Peter the Great.
◼️ NoFloodWithAI: Flash floods on the Amur river
October 9 – November 1
NoFloodWithAI is a special track with a socially important theme prepared jointly with the Ministry of Emergency Situations, Ministry of Natural Resources and Rosgidromet of Russia.
Participants are invited to develop an algorithm for short-term forecasting of water levels in the Amur River for the following settlements: Dzhalinda, Blagoveshchensk, Innokentievka, Leninskoye, Khabarovsk, Komsomolsk-on-Amur, Nikolaevsk-on-Amur for 10 days in advance in order to prevent emergency situations in Russia’s regions. The results of the contest will be reused to mitigate environmental risks and minimize economic damage wrought on the regions.
◼️ AI4Humanities: ruGPT-3
October 16 – November 1
It is a track developed especially for those familiar with artificial neural networks. It will help to learn about a promising ruGPT-3 technology able to generate very complex meaningful texts based on just one request made in natural human language. For example, it can help you answer most questions included in basic or unified national exams (OGE or EGE), write Java code at the request "Please make a website for the online shop", come up with a business idea for a new startup, or write new popular science articles.
more on the project page: https://ods.ai/tracks/aij2020
#ods #aij #contest #peter #floods #rugpt3
On Single Point Forecasts for Fat-Tailed Variables
Fundametal paper, which is applicable to software development deadline estimation, #COVID dynamics forecasts and everything else. Great reminder on that sometimes the more correct solution is to provide TBD answer than any estimation.
ArXiV: https://arxiv.org/pdf/2007.16096.pdf
#Taleb #fattails
Fundametal paper, which is applicable to software development deadline estimation, #COVID dynamics forecasts and everything else. Great reminder on that sometimes the more correct solution is to provide TBD answer than any estimation.
ArXiV: https://arxiv.org/pdf/2007.16096.pdf
#Taleb #fattails
Forwarded from Находки в опенсорсе
> How to make CPython faster.
> We want to speed up CPython by a factor of 5 over the next four releases.
> See the plan for how this can be done.
> Making CPython faster by this amount will require funding. Relying on the goodwill and spare time of the core developers is not sufficient.
This includes JIT and other awesome features for #python
https://github.com/markshannon/faster-cpython
We need this!
> We want to speed up CPython by a factor of 5 over the next four releases.
> See the plan for how this can be done.
> Making CPython faster by this amount will require funding. Relying on the goodwill and spare time of the core developers is not sufficient.
This includes JIT and other awesome features for #python
https://github.com/markshannon/faster-cpython
We need this!
GitHub
GitHub - markshannon/faster-cpython: How to make CPython faster.
How to make CPython faster. Contribute to markshannon/faster-cpython development by creating an account on GitHub.
Castle in the Sky
Dynamic Sky Replacement and Harmonization in Videos
Fascinating and ready to be applied for work. (With colab notebook)
The authors proposed a method to replace the sky in the video that works well in high resolution. The results are very impressive. The method runs in real-time and produces video almost without glitches and artifacts. Also, can generate for example lightning and glow on target video.
The pipeline is quite complicated and contains several tasks:
– A sky matting network to segmentation sky on video frames
– A motion estimator for sky objects
– A skybox for blending where sky and other environments on video are relighting and recoloring.
Authors say their work, in a nutshell, proposes a new framework for sky augmentation in outdoor videos. The solution is purely vision-based and it can be applied to both online and offline scenarios.
But let's take a closer look.
A sky matting module is a ResNet-like encoder and several layers upsampling decoder to solve sky pixel-wise segmentation tasks followed by a refinement stage with guided image filtering.
A motion estimator directly estimates the motion of the objects in the sky. The motion patterns are modeled by an affine matrix and optical flow.
The sky image blending module is a decoder that models a linear combination of target sky matte and aligned sky template.
Overall, the network architecture is ResNet-50 as encoder and decoder with coordConv upsampling layers with skip connections and implemented in Pytorch,
The result is presented in a very cool video https://youtu.be/zal9Ues0aOQ
site: https://jiupinjia.github.io/skyar/
paper: https://arxiv.org/abs/2010.11800
github: https://github.com/jiupinjia/SkyAR
#sky #CV #video #cool #resnet
Dynamic Sky Replacement and Harmonization in Videos
Fascinating and ready to be applied for work. (With colab notebook)
The authors proposed a method to replace the sky in the video that works well in high resolution. The results are very impressive. The method runs in real-time and produces video almost without glitches and artifacts. Also, can generate for example lightning and glow on target video.
The pipeline is quite complicated and contains several tasks:
– A sky matting network to segmentation sky on video frames
– A motion estimator for sky objects
– A skybox for blending where sky and other environments on video are relighting and recoloring.
Authors say their work, in a nutshell, proposes a new framework for sky augmentation in outdoor videos. The solution is purely vision-based and it can be applied to both online and offline scenarios.
But let's take a closer look.
A sky matting module is a ResNet-like encoder and several layers upsampling decoder to solve sky pixel-wise segmentation tasks followed by a refinement stage with guided image filtering.
A motion estimator directly estimates the motion of the objects in the sky. The motion patterns are modeled by an affine matrix and optical flow.
The sky image blending module is a decoder that models a linear combination of target sky matte and aligned sky template.
Overall, the network architecture is ResNet-50 as encoder and decoder with coordConv upsampling layers with skip connections and implemented in Pytorch,
The result is presented in a very cool video https://youtu.be/zal9Ues0aOQ
site: https://jiupinjia.github.io/skyar/
paper: https://arxiv.org/abs/2010.11800
github: https://github.com/jiupinjia/SkyAR
#sky #CV #video #cool #resnet
YouTube
Dynamic Sky Replacement and Harmonization in Videos
Preprint: Castle in the Sky: Zhengxia Zou, Dynamic Sky Replacement and Harmonization in Videos, 2020.
Project page: https://jiupinjia.github.io/skyar/
Project page: https://jiupinjia.github.io/skyar/
👍1
Forwarded from Находки в опенсорсе
Higher Kinded Types in #python!
I am happy to announce that the first version of Higher Kinded Types
emulation is released with full mypy support as a part of
Source code and docs: https://github.com/dry-python/returns
Try it: https://gist.github.com/sobolevn/7f8ffd885aec70e55dd47928a1fb3e61
In the nearest future, we will share some practical libraries using HKTs in Python, including type-safe business-validation, smart and simple framework-agnostic REST framework, and so on! This is a big day for Python and its ecosystem.
In this article I am going to show how HKT works and why it is useful.
I am happy to announce that the first version of Higher Kinded Types
emulation is released with full mypy support as a part of
dry-python/returns@0.15.Source code and docs: https://github.com/dry-python/returns
Try it: https://gist.github.com/sobolevn/7f8ffd885aec70e55dd47928a1fb3e61
In the nearest future, we will share some practical libraries using HKTs in Python, including type-safe business-validation, smart and simple framework-agnostic REST framework, and so on! This is a big day for Python and its ecosystem.
In this article I am going to show how HKT works and why it is useful.
Forwarded from Professor M
“Simplicity is the ultimate sophistication”
In early math classes, we learn that division by zero is a banned operation. If you could violate the rule and stealthily divide by zero in your derivations, you could, for example, prove absurdities such as 2=1. Later on, calculus introduces limits. Division by a number indistinguishable from zero (in the limit) is no longer banned; it produces infinity (in the limit).
When I code in Python, however, I divide by zero all the time. Why do I do this?
Occasionally, you want the script to stop execution when certain conditions occur. Perhaps, you’re still developing the program and, before moving forward, want to report the values of some variables when reaching a specific juncture in the code and then halt. How would you terminate the Python script?
The textbook way of doing so is with the command sys.exit(). Plus, you have to import the sys library with import sys. Twenty characters in total; pretty simple. But what if you could achieve that same objective of halting the script with three characters. How?
Divide by zero. Type 1/0 and the script would stop at this line because of the division-by-zero error. If you can achieve an objective with three characters, why would you use twenty?
When I use STATA for statistical analysis, I also sometimes want the script to terminate at specific points. In STATA, however, I don’t even know the textbook way of doing so. So how do I do it? I use a one-word command: stop. It turns out there is no pre-programmed command stop in STATA. When the software reaches this line, it doesn’t know what to do. It reports an error and then—stops.
I had frowned upon such seemingly non-elegant solutions before acquiring a taste for them. Wearing a tuxedo for a black-tie event is elegant; wearing one for breakfast reveals confusing priorities.
In early math classes, we learn that division by zero is a banned operation. If you could violate the rule and stealthily divide by zero in your derivations, you could, for example, prove absurdities such as 2=1. Later on, calculus introduces limits. Division by a number indistinguishable from zero (in the limit) is no longer banned; it produces infinity (in the limit).
When I code in Python, however, I divide by zero all the time. Why do I do this?
Occasionally, you want the script to stop execution when certain conditions occur. Perhaps, you’re still developing the program and, before moving forward, want to report the values of some variables when reaching a specific juncture in the code and then halt. How would you terminate the Python script?
The textbook way of doing so is with the command sys.exit(). Plus, you have to import the sys library with import sys. Twenty characters in total; pretty simple. But what if you could achieve that same objective of halting the script with three characters. How?
Divide by zero. Type 1/0 and the script would stop at this line because of the division-by-zero error. If you can achieve an objective with three characters, why would you use twenty?
When I use STATA for statistical analysis, I also sometimes want the script to terminate at specific points. In STATA, however, I don’t even know the textbook way of doing so. So how do I do it? I use a one-word command: stop. It turns out there is no pre-programmed command stop in STATA. When the software reaches this line, it doesn’t know what to do. It reports an error and then—stops.
I had frowned upon such seemingly non-elegant solutions before acquiring a taste for them. Wearing a tuxedo for a black-tie event is elegant; wearing one for breakfast reveals confusing priorities.
👍1