remove absl workaround as it's no longer needed
Author: stas00
Pull request: yes

the `absl` workaround hasn't been needed since 2019-04 https://github.com/abseil/abseil-py/issues/99 so it should be safe to remove it.

Otherwise it's complaining about not finding TPUs, when there are no TPUs to be found when some of our libs load jax and not needing jax: https://github.com/huggingface/transformers/issues/14907#issuecomment-1000468384

if you feel that almost 3 years is not far enough to safely remove this, I can re-do this to check the explicit version of `absl`.

Fixes: https://github.com/huggingface/transformers/pull/14909

@patil-suraj, @patrickvonplaten, @LysandreJik, @sgugger 

Comments:
actually, that fix was in `abseil` - I may have misread the situation - let me just run some checks on whether the logging works.

OK, here it says that `absl` was fixed as well: https://github.com/tensorflow/tensorflow/issues/26691#issuecomment-525519742


Hard to leave a reasonable opinion here for me as I don't know at all why it was added

Maybe @thomwolf actually remembers?

It says in the workaround:

Work around to update TensorFlow's absl.logging threshold which alters the default Python logging output behavior when present.

- https://github.com/abseil/abseil-py/issues/99
- https://github.com/tensorflow/tensorflow/issues/26691#issuecomment-500369493

which has been resolved several years ago.

Note that all of the issues in the TensorFlow side say it has been fixed since 2019 and we have a minimum version required that was released in July 2020, so I see little harm in removing this.
We can always put it back if the logs become horrible but I trust @stas00 to have tested it :-)

OK, I tried to devise a test based on the comments on when it didn't work:

```
$ python -c "
import logging
import tensorflow as tf
from transformers.utils import logging
import absl.logging
logger = logging.get_logger(__name__)
logger.warning('Hello')
"
Hello
```

so it works. i.e. loading `absl.logging` doesn't interfere with our logging.

What Patrick said, I also don't know why it was added. But okay to remove for me if removing this won't cause any issues.

Having the same annoying logs coming from absl as @stas00  each time I use the library, I would really like to move forward with this. It's easy enough to revert if we discover an issue and there is time before the next release, so I'm merging this. Let's keep an eye on any "log" regressions and re-asses if something horrible happens :-)

Hey @stas00 with one of the recent `absl`-related changes the JAX/FLAX example is heavily spaming the console:

![image](https://user-images.githubusercontent.com/20651387/149224314-9cc57c74-2e36-4a4d-b0ec-b39de1682844.png)

So it seems that a `debug` level is active by default. Do you have any suggestion for a fix :thinking: 

(I'm using latest `master` version and a v3-8 TPU VM)

Hmm, weird, this is the sort of thing that this PR's change was supposed to take care of.

But your `absl` is somehow in DEBUG mode - are you sure you don't load something else that sets it to debug level? That surely shouldn't be the default logging level of `absl`. So in a way the code we removed was masking this issue and thus it doesn't get masked any longer.

Do you have a simple few lines of code I could reproduce this with? Then I can try to tinker with it. (but my setup is gpu only at the moment, though sure it shouldn't make a difference)



No problem, here's one example command:

```bash
./run_t5_mlm_flax.py \
    --output_dir="./debugging-mt5" \
    --model_name_or_path="google/mt5-small" \
    --max_seq_length="512" \
    --weight_decay="0.01" \
    --per_device_train_batch_size="32" \
    --per_device_eval_batch_size="8" \
    --learning_rate="3e-4" \
    --warmup_steps="10000" \
    --overwrite_output_dir \
    --num_train_epochs="100" \
    --adam_beta1="0.9" \
    --adam_beta2="0.98" \
    --logging_steps="500" \
    --save_steps="10000" \
    --eval_steps="2500" \
    --dataset_name="oscar" \
    --dataset_config_name="unshuffled_deduplicated_af" \
    --preprocessing_num_workers 16 \
    --adafactor
```

Here are the used jax/flax version:

* flax: `0.3.6`
* jax: `0.2.26`
* Transformers/Datasets: latest `master`

Hope that helps :hugs: 

Thank you for the example, @stefan-it 

It appears to be a much bigger issue than `absl`. Something turns DEBUG on every component:
```
[13:52:44] - INFO - absl -   Unable to initialize backend 'tpu_driver': NOT_FOUND: Unable to find driver in registry given worker: 
[13:52:44] - DEBUG - absl -   Initializing backend 'gpu'
[13:52:44] - DEBUG - absl -   Backend 'gpu' initialized█████████████████████████████████████████████████████████████████████| 1/1 [00:00<00:00,  8.78ba/s]
[13:52:44] - DEBUG - absl -   Initializing backend 'tpu'
[13:52:44] - INFO - absl -   Unable to initialize backend 'tpu': INVALID_ARGUMENT: TpuPlatform is not available.                    | 0/1 [00:00<?, ?ba/s]
[13:52:50] - DEBUG - absl -   Compiling prim_fun (139939614586432) for args (ShapedArray(int32[]), ShapedArray(int32[])).
[13:52:50] - DEBUG - absl -   Compiling prim_fun (139939615649152) for args (ShapedArray(int32[]),).
[13:52:50] - DEBUG - absl -   Compiling prim_fun (139939615607552) for args (ShapedArray(uint32[]),).
[13:52:50] - DEBUG - absl -   Compiling <lambda> (139939614754432) for args (ShapedArray(int32[]), ShapedArray(uint32[])).
[13:52:50] - DEBUG - absl -   Compiling prim_fun (139939627045952) for args (ShapedArray(uint32[1]), ShapedArray(uint32[1])).
[13:52:50] - DEBUG - absl -   Compiling _threefry_split (139939614754176) for args (ShapedArray(uint32[2]),).
[13:52:50] - DEBUG - urllib3.connectionpool -   Starting new HTTPS connection (1): huggingface.co:443
[13:52:50] - DEBUG - urllib3.connectionpool -   https://huggingface.co:443 "HEAD /google/mt5-small/resolve/main/flax_model.msgpack HTTP/1.1" 302 0
[13:52:50] - DEBUG - filelock -   Attempting to acquire lock 139939610592016 on /home/stas/.cache/hugging
```

@patil-suraj, do you know why this is done?

Ah, it's because logging level wasn't set, this is probably a possible fix:

```
diff --git a/examples/flax/language-modeling/run_t5_mlm_flax.py b/examples/flax/language-modeling/run_t5_mlm_flax.py
index 4a66a3cd5..552ccd5b3 100755
--- a/examples/flax/language-modeling/run_t5_mlm_flax.py
+++ b/examples/flax/language-modeling/run_t5_mlm_flax.py
@@ -492,7 +492,7 @@ def main():
     # Setup logging
     logging.basicConfig(
         format="%(asctime)s - %(levelname)s - %(name)s -   %(message)s",
-        level="NOTSET",
+        level="INFO",
         datefmt="[%X]",
     )
```
same should probably be applied to: `examples/flax/language-modeling/run_mlm_flax.py`



Please check that https://github.com/huggingface/transformers/pull/15129 solves the issue for you, @stefan-it